簡體   English   中英

forEach 接受一個數組和一個回調

[英]forEach takes an array and a callback

我需要幫助解決這個問題,因為我不明白:(。請幫忙!

forEach 函數接受一個數組和一個回調。 它在數組的每個元素上運行回調——就是這樣!

var alphabet = '';
var letters = ['a', 'b', 'c', 'd'];
forEach(letters, function(char) {
  alphabet += char;
});
console.log(alphabet);   //prints 'abcd'


**(underneath is is where I edit)**



// Challenge 4
function forEach(array, callback) {

}

// see for yourself if your forEach works!

我不知道你到底想實現什么,但你的代碼不是慣用的 JavaScript ......

核心 JavaScript 語言已經提供了一個可以直接使用的forEach方法。 請閱讀以下頁面: Array.prototype.forEach()

當您使用forEach ,您的代碼應如下所示:

var alphabet = '',
    letters = ['a', 'b', 'c', 'd'];

letters.forEach(function (letter) {
  alphabet += letter;
});

console.log(alphabet);

但是,如果您擔心性能泄漏,您可能希望改用具有緩存長度的傳統for循環。

var alphabet = '',
    letters = ['a', 'b', 'c', 'd'];

for(var i = 0, len = letters.length; i < len; i++) {
  alphabet += letters[i];
}

console.log(alphabet);

感謝 ES6,您還可以在可迭代對象(如數組)上使用for...of循環。 這是現代 JavaScript 應用程序中的推薦指令:

let alphabet = '',
    letters = ['a', 'b', 'c', 'd'];

for (const letter of letters) {
  alphabet += letter;
}

console.log(alphabet);

但由於開發人員有時很懶惰,最好的答案可能是這個:

var letters = ['a', 'b', 'c', 'd'],
    alphabet = letters.join('');

console.log(alphabet);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM