Javascript - 获取两个数组之间的对应对象

标签 javascript

我有以下数组:

第一个数组:

const dummyJSON = [
    {
      id: 1,
      sponsor_date: '2020-08-16T22:45:03.154Z'
    },
    {
      id: 2,
      sponsor_date: '2020-09-16T22:45:03.154Z'
    },
    {
      id: 3,
      sponsor_date: '2020-09-01T22:45:03.154Z'
    }
  ]

第二个数组:

const validated = [ true, false, false ]

我想在相应的(已验证的)数组项为真时获取对象 (dummyJSON.id)。

基本上,如果 validate [0] 数组中的第一项的值为“true”,那么我想在 dummyJSON 数组中包含相应的 [0] 项的 id 值。

最佳答案

您可以使用 Array#reduce 获取经过验证的 ID 数组。

它基本上会遍历每个元素,如果当前迭代对象的索引对应于 validated 中具有相同索引的真值,则对象的 id 将为推到结果。

const dummyJSON = [
    { id: 1, sponsor_date: '2020-08-16T22:45:03.154Z' },
    { id: 2, sponsor_date: '2020-09-16T22:45:03.154Z' },
    { id: 3, sponsor_date: '2020-09-01T22:45:03.154Z' }
];

const validated = [true, false, false];

const validatedIds = dummyJSON
  .reduce((s, { id }, i) => (validated[i] ? s.push(id) : s, s), []);

console.log(validatedIds);

关于Javascript - 获取两个数组之间的对应对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63944505/

相关文章:

javascript - 用于检查字符串是否包含至少 3 个字母数字字符的最有效正则表达式

javascript - 在javascript中,我如何在新页面中打开链接并在页面上的其他内容上插入div

javascript - 删除锤子事件

javascript - emacs - 从 js-mode-hook 中排除 json-mode

javascript - 如何将每个值放入已按值分组的数组中?

java - Java 7 下的 Nashorn

javascript - 使用 AngularJS 组件根据类型呈现图表

javascript - IE11 JavaScript(错误 : SCRIPT445) "Object doesn' t support this action"

javascript - connect-redis 连接到 localhost 而不管提供的主机

javascript - 重新使用具有不同 "view models"的 EXTjs View