数组.在第二个嵌套的For循环内push



为什么数组。push不工作在嵌套For循环?但如果我用forEach

代替第二个for循环,它就能工作了

var longestCommonPrefix = function (strs) {
if (strs.length === 1) {
return strs.join('')
}
let reference = strs[0].split('');
let answer = [];
let final = [];
for (let i = 1; i < strs.length; i++) {
let check = strs[i].split('')
for (let x = 0; x < reference.length; x++) {
if (reference[x] === check[x]) {
answer.push(check[x]) //WHY THIS WONT WORK?
} else return
}
reference = answer
}
console.log(answer)
};
longestCommonPrefix(["flower", "flow", "flight"]);

return用于退出函数,使用break仅用于退出循环

var longestCommonPrefix = function(strs) {
if (strs.length === 1) {
return strs.join('')
}
let reference = strs[0].split('');
let answer = [];
let final = [];
for (let i = 1; i < strs.length; i++) {
let check = strs[i].split('')    
for(let x = 0 ; x<reference.length ; x++){
if(reference[x] === check[x]){
answer.push(check[x]) //WHY THIS WONT WORK?
}else break
}
reference = answer
}

console.log(answer)
};
longestCommonPrefix(["flower", "flow", "flight"])

最新更新