1
하위 배열의 두 배열을 병합하고 현재 카운터 뒤의 배열을 결과로 바꾸고 현재 카운터 하위 배열을 제거하려고합니다. 웬일인지, 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]);
'arguments'는 배열이 아니며 "배열과 유사한"객체입니다. 그것을 배열로 "변환"해야합니다. 'var arg = Array.prototype.slice.call (arguments);' –