如何根据特定的值出去数组对象中的对象?


    var stooges = [
        {name: 'moe', age: 40}, 
        {name: 'larry', age: 50}, 
        {name: 'curly', age: 60,status:true},
        {name: 'kobe', age: 39,status:false}
    ];
    

比如我想从这个数组中去除含有status的项,得到结果为


    var stooges1 = [
        {name: 'moe', age: 40}, 
        {name: 'larry', age: 50}, 
    ];

请问如何实现,最好能用Underscore.js或Loadash.js实现

阅读 2.8k
3 个回答
underscore
_.filter(arr,x => x.status == void 0)

原生
arr.filter( x => x.status == void 0)
for(let i in stooges){
    if(!stooges[i].status==void(0)){
        stooges.splice(i,1);
    }
}

这是改变原数组,要保留原数组用push()即可

Lodash/Underscore

var stooges1 = _.filter(stooges, el => !_.has(el, 'status'))

Vanilla

var stooges1 = stooges.filter(el => !el.hasOwnProperty('status'))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题