Javascript判斷在對象數組在字符串數組中是否存在

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 函數

相關文章
相關標籤/搜索