【发布时间】:2015-03-14 03:00:34
【问题描述】:
我正在尝试添加一个数组的所有元素,其中嵌入了 3 个不同长度的其他数组。第三层是两个单元素数组,我不知道如何访问它们的值。我究竟做错了什么?请指教(请不要扔灯)。
function addArrayElems(arr) {
var sum = 0;
for (var i = 0; i < arr.length; i++) {
if (typeof arr[i] === "number") sum += arr[i];
for (var j = 0; j < arr.length; j++) {
if (typeof arr[i][j] === "number") sum += arr[i][j];
}
//arr[i][j][k] doesn't work
for (var k = 0; k < arr.length; k++) {
if (typeof arr[i][j][k] === "number") sum += arr[i][j][k];
}
for (var l = 0; l < arr.length; l++) {
if (typeof arr[i][j] === "number") sum += arr[i][j];
}
}
return sum;
}
var arr = [1, 2, 3, 4, 5, [6, 7, 8, [9], [10]]];
console.log(addArrayElems(arr));
【问题讨论】:
-
您需要将第二个
for lus放在for lusj内。添加这个时刻arr[i][j][k]会产生脚本错误。你在问这个arr[i][undefined][undefined]。您无法从未定义的内容中检索属性。
标签: javascript arrays multidimensional-array addition