[英]Can someone please explain this callback to me
我不明白正在回調的內容是它為自己提供操作數組還是我不知道從哪里開始
function mySelect (arr, cb) {
var selected = [];
arr.forEach(function(ele, i, ar) {
if (cb(ele, i, ar)) {
selected.push(ele);
}
});
return selected;
}
mySelect([1,2,3,4,5,6], function(ele, i, arr) {
return (ele % 2 === 0);
});
您的代碼通過以下代碼從數組中返回偶數:
ele % 2 === 0 //(test if even)
IE。 如果 ele(或數字)被 2 除,並且沒有余數
function mySelect (arr, cb) // cb = callBackFunction { var selected = []; arr.forEach(function(ele, i, ar) { if (cb(ele, i, ar)) // call back here tests if even { selected.push(ele); } }); return selected; } var selected = mySelect([1,2,3,4,5,6], function(ele, i, arr) { return (ele % 2 === 0); }); console.log(selected);
沒有回調函數的相同代碼,但在主函數中嵌入了偶數測試:
function mySelect (arr) // no callBack Function { var selected = []; arr.forEach(function(ele, i, ar) { if (ele % 2 === 0) // tests if even { selected.push(ele); } }); return selected; } var selected = mySelect([1,2,3,4,5,6]); console.log(selected);
我希望這有幫助 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.