如何删掉数组中包含另一个数组值的项?

如何删掉total_data的sid等于sids数组的项 (jquery也可以)

total_data[
    {c_revenue: "9.2000",c_total_revenue: "2.0000",sid: "22061"}, 
    {c_revenue: "26352.4800", c_total_revenue: "4774.0000", sid: "22078"},
    {c_revenue: "88666.4800", c_total_revenue: "1111.0000", sid: "22090"}
];
sids = ["22061", "22090"];
阅读 4.7k
3 个回答

比较简单的方法:循环两个数组对比 sid

total_data.forEach(function(item, i){
   sids.forEach(function(items, j){
      if(item.sid === items){
          total_data.splice(i,1);
      }
  })
})

换种思路,把sid没有出现在sids里面的项放到一个新的数组里面就是你要的结果了

total_data.filter(item => !sids.includes(item.sid))

ES5 语法

total_data.filter(function(item) {
  return sids.indexOf(item.sid) < 0
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题