我有一個數字陣列。我需要找到陣列中連續 1 的最大數量。
var arr = [1, 1, 3, 2, 3, 1, 1, 1];
const maxOne = (arr) => {
for (var i = 0; i < arr.length; i ) {
let count = 0;
let result = 0;
if (arr[i] ==1) {
count = 1;
result = Math.max(result, count);
} else {
count = 0
}
return result
}
}
console.log(maxOne(arr));
所需的輸出:3
我的輸出:1
我不確定我哪里出錯了
uj5u.com熱心網友回復:
你的演算法有效,你只是犯了幾個錯誤:
- 在回圈外創建變數
- 回圈后回傳,不在回圈中(它會在第一次迭代時中斷回圈)
const maxOne = (arr) => {
let count = 0;
let result = 0;
for (var i = 0; i < arr.length; i ) {
if (arr[i] === 1) {
count = 1;
result = Math.max(result, count);
} else {
count = 0
}
}
return result
}
uj5u.com熱心網友回復:
你可以這樣做。
let arr=[1,2,3,1,1,2,1,1,12,1,1,1,1];
let count=0;
for(let i=0;i<arr.length;i ){
arr[i]==1 ? count =1 :count=0;
}
console.log(count).
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/486089.html
標籤:javascript 数组
下一篇:基于組和條件的新列
