function evenAndOdd(array1){
const array1 = [1,2,3,4,5,6]
const odd = []
const even = []
for (let i=0; i<array1.length; i++){
if (i%2===0){
even.push(array1[i]);
}else {
odd.push(array1[i])
}
array1.push(odd)
array1.unshift(even)
}
return array1
}
这是我从控制台日志/用户代码/index.js:3 const array1 =[1,2,3,4,5,6]^中得到的结果。
语法错误:标识符"array1"已声明
我在期待:数组1 =[[2,4,6],[1,3,5]]
3条答案
按热度按时间tct7dpnv1#
你也可以试试这个。
yjghlzjz2#
这个错误是正确的,你把
array
定义为函数的输入,也定义在函数体中,应该这样使用它:接下来,你的函数修改它的输入并返回它。我猜你只是想在不改变输入的情况下得到结果。所以我们这样修改它:
这个函数运行了,但是结果是错误的,输出是
[ [ 1, 3, 5 ], [ 2, 4, 6 ] ]
,原因是你要检查索引是奇数还是偶数,但是检查的应该是输入数组中的值,你可以这样修改它:我还要将名称
array1
更改为input
,以使该变量所代表的内容更加明显。将所有内容放在一起,代码应如下所示:
另外,我更愿意在输入端使用过滤器来编写它,而不是使用for循环和索引
bn31dyow3#
您的代码中存在一些逻辑问题: