簡體   English   中英

如何從自定義的forEach函數獲取返回的值以用於回調?

[英]How to get the value from customised forEach function returned to be used in callback?

假設myArray如下:

var myArray = [1,2,3,4];

我希望按如下所示應用“地圖”時的結果如下:

map(myArray, function(val){
return val * 2;
});
//[2, 4, 6, 8]

我已經可以使用以下代碼做到這一點:

var map = function(collection,callback){
    var newArray = [];
    for (var i = 0; i < collection.length; i++){
        newArray.push(callback(collection[i]));
    }
    return newArray;
}

但是,如果我較早地定制了“ forEach”功能(如下所示),並且想在我的“地圖”功能中使用定制的“ forEach”功能,該怎么辦?

var forEach = function(collection,callback){
    if(Array.isArray(collection)){
        for(var i = 0; i < collection.length; i++){
            callback(collection[i]);
            }
    } else {
        for(var prop in collection){
            callback(collection[prop]);
            }
    }
 };

我很難從定制的forEach函數“返回”的值中獲取要在回調中使用的值。

提前致謝!

這是使用forEach實現map方法:

var map = function(collection,callback){
    var newArray = [];
    forEach(collection, function(v) { 
        newArray.push(callback(v)); 
    });
    return newArray;
}

暫無
暫無

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

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