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);
使用filter
函數進行條件過濾,而後,在使用indexOf
函數判斷是在數組中存在。這樣就不用嵌套迭代了。數組
filtering an array of objects using an array without nested loops js 函數