var allOptions = [
{value: 'AA', key: 'a'},
{value: 'BB', key: 'b'},
{value: 'CC', key: 'c'},
{value: 'DD', key: 'd'},
{value: 'EE', key: 'e'}
];
var selected = ['a', 'c'];
我想从allOptions
获取在可变数组selected
中具有键的对象
即我希望结果为
[
{value: 'AA', key: 'a'},
{value: 'CC', key: 'c'},
];
如果不涉及jquery,任何建议都值得赞赏。
答案 0 :(得分:2)
您可以只在过滤器中使用includes
并将数组项与key
对象进行比较。
var allOptions = [{
value: 'AA',
key: 'a'
},
{
value: 'BB',
key: 'b'
},
{
value: 'CC',
key: 'c'
},
{
value: 'DD',
key: 'd'
},
{
value: 'EE',
key: 'e'
}
];
var selected = ['a', 'c'];
const res = allOptions.filter(el => selected.includes(el.key));
console.log(res)