无法拼接子阵列
Can't splice away a subarray
我想在子数组中展平两个数组,用结果替换当前计数器之后的一个,并删除当前计数器子数组。出于某种原因, splice 对我不起作用;我收到错误消息:arg.splice() 不是函数。
谁能解释一下为什么?
function sym(args) {
var arg = arguments;
for (var i = 0; i < arg.length; i++) {
if (arg[i+1]) {
arg[i+1] = flatten(arg[i], arg[i+1]);
arg.splice(i,1);
}
}
function flatten(arr1, arr2) {
return [arr1, arr2].reduce(
function(a,b){
return a.concat(b);
}, []);
}
}
sym([1, 2, 3], [5, 2, 1, 4]);
解决了,忘了我必须先将参数转换成合适的数组。愚蠢的我。
我想在子数组中展平两个数组,用结果替换当前计数器之后的一个,并删除当前计数器子数组。出于某种原因, splice 对我不起作用;我收到错误消息:arg.splice() 不是函数。 谁能解释一下为什么?
function sym(args) {
var arg = arguments;
for (var i = 0; i < arg.length; i++) {
if (arg[i+1]) {
arg[i+1] = flatten(arg[i], arg[i+1]);
arg.splice(i,1);
}
}
function flatten(arr1, arr2) {
return [arr1, arr2].reduce(
function(a,b){
return a.concat(b);
}, []);
}
}
sym([1, 2, 3], [5, 2, 1, 4]);
解决了,忘了我必须先将参数转换成合适的数组。愚蠢的我。