我有以下数据。我希望能够有效地过滤掉 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.filter和 Array.indexOf
var res = sites.filter(function( o){
return segmentCodes.indexOf(o.segmentCode) == -1;
});
关于javascript - 筛选与另一个数组的任何成员都不匹配的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19384588/