javascript - 筛选与另一个数组的任何成员都不匹配的对象数组

标签 javascript arrays dojo

我有以下数据。我希望能够有效地过滤掉 sites 数组中的所有对象,这些对象在 segmentCodes 数组中没有匹配的 segmentCode .我可以使用 dojo 或 native javascript,但我无权访问任何其他库。

var segmentCodes = ["10", "20","30","40"];
var sites = [
    {"siteid":1, "segmentCode":"10"},
    {"siteid":2, "segmentCode":"10"},
    {"siteid":3, "segmentCode":"20"},
    {"siteid":4, "segmentCode":"30"},
    {"siteid":5, "segmentCode":"70"},
    {"siteid":6, "segmentCode":"999"}];

结果应该是这样的:

[{"siteid":5, "segmentCode":"70"}, {"siteid":6, "segmentCode":"999"}]

提前致谢。

最佳答案

尝试使用 Array.filterArray.indexOf

var res = sites.filter(function( o){
  return segmentCodes.indexOf(o.segmentCode) == -1;
});

Demo

关于javascript - 筛选与另一个数组的任何成员都不匹配的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19384588/

相关文章:

c - 函数无法在 c 中正确打印

javascript - DOJO:添加多个条件来查询dojox.grid.DataGrid

javascript - 使用Firebug调试器解决脚本冲突

javascript - Chart.js - 条形图上的水平线干扰工具提示

javascript - 将 Jquery 单击处理程序添加到动态加载的内容

javascript - react 渲染对象数组

java - 在二维数组的 IF 语句中使用 AND OR 来对行的值求和

javascript - 通过 JS 获取 Select 选项值并设置数组索引

javascript - 使用工厂内部路由 Controller

jquery - Kendo UI kendoTreeList ExportToExcel : "Uncaught ReferenceError: count is not defined", 与聚合列