javascript - 如何订购数组中的项目?
问题描述
因此,我正在尝试创建一个函数,该函数采用数组中的第一项并在a1
其末尾添加一个,以及数组的下一项。然后,第三项a2
与第四项一起被添加到其中,依此类推。另外,我想多次执行此操作并使用函数参数创建多个数组orderNum
。我很难找出如何做到这一点,但我猜它与1 -1 1 -1
序列有关。无论如何,这是我的代码:
function orderArray (orderNum, array) {
var orderNum_Array = [];
for (var i = 0; i <= array.length; i++) {
if (Math.pow(-1, i +1) < 0) {
array[i] = orderNum_Array [i];
orderNum_Array[i] = orderNum_Array[i].toString();
orderNum_Array.concat("a" + i);
}else if (Math.pow(-1, i +1) > 0) {
array[i] = orderNum_Array [i + 2];
orderNum_Array[i + 2] = orderNum_Array[i + 2].toString();
orderNum_Array.concat("a" + (i + 2));
}
}
}
任何和所有的帮助都将不胜感激。提前致谢!
解决方案
您的代码无法正常工作,因为您超出了数组范围,很可能是由orderNum_Array[i + 2]
.
但是您可以使用Array.map()以更简单的方式执行此操作。
function orderArray(array) {
var num = 0;
var orderNum_Array = array.map((item, index) => {
if (index % 2 == 0) {
num++;
}
return item + "a" + num;
});
return orderNum_Array;
}
console.log(orderArray([1,2,3,4,5,6]));