我一直试图找出最简单的方法来过滤对象数组而不使用嵌套循环。
我发现这个post使用.filter
函数关于使用另一个数组过滤数组但我没有弄清楚如何使用相同的模式实际访问对象数组中对象内的正确键
给定下一个对象数组:
[ { technology: 'CHARACTER', score: -1 },
{ technology: 'PRESSURE_RELIEF', score: 2 },
{ technology: 'SUPPORT', score: 3 },
{ technology: 'MOTION_ISOLATION', score: 2 },
{ technology: 'TEMPERATURE_MANAGEMENT', score: -1 },
{ technology: 'COMFORT', score: 2 } ]
我想使用以下数组来过滤我不需要的数组:
[CHARACTER, MOTION_ISOLATION, TEMPERATURE_MANAGEMENT]
是否可以在不使用嵌套循环的情况下访问它?如果不可能,我也愿意接受建议。
答案 0 :(得分:5)
var condition = ['CHARACTER', 'MOTION_ISOLATION', 'TEMPERATURE_MANAGEMENT'];
var data = [
{ technology: 'CHARACTER', score: -1 },
{ technology: 'PRESSURE_RELIEF', score: 2 },
{ technology: 'SUPPORT', score: 3 },
{ technology: 'MOTION_ISOLATION', score: 2 },
{ technology: 'TEMPERATURE_MANAGEMENT', score: -1 },
{ technology: 'COMFORT', score: 2 }
];
var result = data.filter(function (el) {
return condition.indexOf(el.technology) < 0;
});
console.log(result);
&#13;