我以这种形式在控制台中获取数据
0:(8) [70, 61, 74, 79, 76, 63, 51, 51]
1:(4) [64, 84, 84, 66]
2:(2) [79, 69]
3:(3) [77, 100, 98]
我想像这样在控制台中打印我的数据:
0:(4) [70, 64, 79, 77]
1:(4) [61, 84, 69, 100]
2:(4) [74, 84, 0, 0]
3:(4) [79, 66, 98, 0]
4:(4) [76, 0, 0, 0]
5:(4) [63, 0, 0, 0]
6:(4) [51, 0, 0, 0]
7:(4) [51, 0, 0, 0]
通过这两个函数,我得到行中的最大数字,并用 0 填充空列,但我想像我编写的示例中那样显示数据。
function fillWithZeros(arr, length) {
for (var i = 0; i < length; i++) {
if (arr[i] == null) {
arr[i] = 0;
}
}
return arr;
};
function findMaxEvents(item){
var maxNumEvents = 0;
for (var i = 0; i < item.length; i++){
if (item[i] > maxNumEvents){
maxNumEvents = item[i];
}
}
return maxNumEvents;
}
最佳答案
我希望您实际上是在寻找转置现有数组。 感谢Transposing a 2D-array in JavaScript. .
得到的答案和你的有点不一样。希望这有助于尝试找到实现目标的正确方法。
var array = [[70, 61, 74, 79, 76, 63, 51, 51],
[64, 84, 84, 66],
[79, 69],
[77, 100, 98]];
var arrayWithMaxlen = array.map(function(a){return a.length;}).indexOf(Math.max.apply(Math, array.map(function(a){return a.length;})));
console.log("arrayWithMaxlen : " +arrayWithMaxlen); //gets index of array with max length
var newArray = array[arrayWithMaxlen].map(function(col, i) {
return array.map(function(row) {
if(row[i]!=undefined)return row[i];
else return 0;
})
});
console.log(newArray);
.as-console-wrapper { max-height: 100% !important; top: 0; }
关于javascript - 转动控制台中的数字/打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46726423/