繁体   English   中英

有人可以向我解释这个回调吗

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM