【问题标题】:How to filter a dictionary of key value with an array of keys in Javascript? [duplicate]如何使用Javascript中的键数组过滤键值字典? [复制]
【发布时间】:2019-10-09 07:08:22
【问题描述】:
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,任何建议表示赞赏。

【问题讨论】:

  • Array#filter 不适合你吗?
  • 那行得通,我是 JS 新手,我的错误,类似的问题是可用的,但由于我无法删除问题,感谢您的回复。

标签: javascript arrays dictionary


【解决方案1】:

您可以在过滤器中使用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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-07
    • 1970-01-01
    • 2015-11-03
    • 2017-03-27
    • 1970-01-01
    • 2020-11-04
    • 2018-10-28
    • 1970-01-01
    相关资源
    最近更新 更多