我有以下数据。我希望能够有效过滤掉sites
数组中所有没有匹配的segmentCode
的segmentCodes
数组中的对象。我可以使用dojo或本机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;
});
Demo