*我有布尔数组*
var array=[[0 ,1 ,1 ,1],[0 ,0, 1, 1],[1 ,1 ,1 ,1],[0 ,0 ,0 ,0]]
如何找到最大1s 我想用javascript解决 这是我的围裙
var array = [
[0, 1, 1, 1],
[0, 0, 1, 1],
[1, 1, 1, 1],
[0, 0, 0, 0]
]
var indexValue = 0
var count = 0
array.forEach(function(element, index) {
var value = element.reduce(function(a, b) {
return a + b
})
if (value > count) {
indexValue = index
}
})
console.log(indexValue)
此代码很完美,但我想在代码中进行更多优化
答案 0 :(得分:0)
根据我的判断,这并没有进一步优化,但是,如果您愿意,它是解决问题的另一种方法。
var array = [
[0, 1, 1, 1],
[0, 0, 1, 1],
[1, 1, 1, 1],
[0, 0, 0, 0]
]
var indexValue = 0
var best = 0
array.forEach(function(element, index) {
var val = element.filter(v => v == 1).length;
if(val > best){
best = val;
indexValue = index;
}
});
console.log(indexValue)