如何使用Javascript中的键数组过滤键值字典?

Har*_*_pb -1 javascript arrays dictionary

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'];
Run Code Online (Sandbox Code Playgroud)

我想从中获取allOptions在变量数组中有键的对象selected

即我想要结果

[
    {value: 'AA', key: 'a'},
    {value: 'CC', key: 'c'},
];
Run Code Online (Sandbox Code Playgroud)

如果不涉及 jquery,任何建议表示赞赏。

G.a*_*ziz 5

您可以只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(({
  key
}) => selected.includes(key));

console.log(res)
Run Code Online (Sandbox Code Playgroud)