我有一个二维数组。我正在尝试计算内部数组中的值。我知道JS array.length。但是这样做会testData.length产生5。这是正确的。但是,我想计算每个子数组中的项目数。
testData[0].length将产生6。但是如何动态计算每个子数组?(因为它会改变)。
var testData = [["column1","test1","test1","tea","party", "water bottle"],
["column2","test2","test2","test2 test2"],
["column3","test2","test2","test2 test2 "],
["column4","test2","test2 test2f asdfsdf"],
["column5","test2","test2 test2f asdfsdfasdfasdfasa asda asdfsas"]
]
Run Code Online (Sandbox Code Playgroud)
用途reduce:
ES6:
testData.reduce((count, row) => count + row.length, 0);
Run Code Online (Sandbox Code Playgroud)
ES5:
testData.reduce(function(count, row) {
return count + row.length;
}, 0);
Run Code Online (Sandbox Code Playgroud)
https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
小智 5
使用Array.forEach
s=0;
testData.forEach(function(e,i,a){s += e.length; });
Run Code Online (Sandbox Code Playgroud)
另请参阅:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/forEach
var testData = [
["column1","test1","test1","tea","party", "water bottle"],
["column2","test2","test2","test2 test2"],
["column3","test2","test2","test2 test2 "],
["column4","test2","test2 test2f asdfsdf"],
["column5","test2","test2 test2f asdfsdfasdfasdfasa asda asdfsas"]
];
for(var i=0;i < testData.length;i++){
for(var j=0;j<testData[i].length;j++){
alert(testData[i][j]);
}
}
Run Code Online (Sandbox Code Playgroud)