use*_*681 2 javascript node.js underscore.js
您好我是Javascript和NodeJS的新手,但我需要删除列表中带有布尔值的数组中的对象.列表中有3个朋友和2个朋友,isEvil = true;所以我需要删除2个朋友,输出必须是1.这是我试过的.
我的尝试1:
_.each(user.friends, function(friend) {
if(friend.isEvil){
delete friend;
}
});
console.log(user.friends.length); //output is 3
Run Code Online (Sandbox Code Playgroud)
如果我这样做,它将删除所有属性,但仍然有一个空对象:MyTry 2:
_.each(user.friends, function(friend) {
if(friend.isEvil){
delete f.property1;
delete f.property2;
}
});
console.log(user.friends.length); //output is 3
Run Code Online (Sandbox Code Playgroud)
我尝试的最后一个是:
_.each(user.friends, function(friend, key) {
if(friend.isEvil){
delete user.friends[key];
}
});
console.log(user.friends.length); //output is 3
Run Code Online (Sandbox Code Playgroud)
只需使用_.filter(list, predicate, [context])提供的功能underscore:
_.filter(user.friends, function(friend){
return !friend.isEvil;
});
Run Code Online (Sandbox Code Playgroud)
欲了解更多信息:http://underscorejs.org/#filter
| 归档时间: |
|
| 查看次数: |
277 次 |
| 最近记录: |