如果条件键匹配,则过滤对象数组

时间:2019-07-15 20:03:01

标签: javascript filter reduce

如果满足条件,是否可以在对象中过滤对象,然后返回数组?

我正在页面上使用2个按钮,单击第一个将加载条件样本->选项1的名称值,另一个将是选项2。


这里的条件和我正在研究的方法:

const condition = {
  sample: { 
      option1: { name: 'option1' }, 
      option2: { name: 'option2' },
}

const data = [
  { key: '123', value:'test' },
  { key: '456', value:'test1' },
  { key: '789', value:'test2' },
  { key: '101112', value:'test' ,option1:123344 },
  { key: '101144', value:'test2',option2:'working on filter' }
]

const filtered = Object.keys(data)
  .filter(key => condition.includes(key))
  .reduce((obj, key) => {
    obj[key] = data[key];
    return obj;
  }, []);

console.log(filtered);

0 个答案:

没有答案