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