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