我有一个像这样的数组
每个对象都有两个键值对,一个是字母,一个是颜色。我有另一个这样的数组:
因此,我想要类似于以下内容的东西:
arr1 =
[
{A: 'red', B: 'blue'},
{Q: 'green', R: 'blue'},
{B: 'green', M: 'red'},
{Q: 'white', R: 'blue'},
...
]
每个对象都有两个键值对,一个是字母,一个是颜色。我有另一个这样的数组:
filter=
[
{A: 'val', B: 'someval'},
{B: 'anothervalue', M: 'value'}
]
能否通过过滤第一个数组使最终结果只包含与第二个数组具有相同键的对象。(不使用for或while循环)
在这种情况下,结果将是:
[
{A: 'red', B: 'blue'},
{B: 'green', M: 'red'}
]
因此,我想要类似于以下内容的东西:
let filteredArr = arr1.filter(obj =>
Object.keys(obj) == Object.keys(filter[someKey]));
但我不确定如何在不循环所有filter
键的情况下完成此操作。