我如何在。map中跳过数组元素?
我的代码:
var sources = images.map(function (img) {
if(img.src.split('.').pop() === "json"){ // if extension is .json
return null; // skip
}
else{
return img.src;
}
});
这将返回:
["img.png", null, "img.png"]
下面是一个实用工具方法(ES5兼容),它只映射非空值(隐藏reduce调用):
函数mapNonNull(arr, cb) {
加勒比海盗。Reduce(函数(累加器,值,索引,arr) {
Var结果= cb。调用(null, value, index, arr);
If (result != null) {
accumulator.push(结果);
}
返回蓄电池;
},[]);
}
var result = mapNonNull(["a", "b", "c"],函数(值){
返回值=== "b" ?Null:值;//排除"b"
});
console.log(结果);// ["a", "c"]