首页 > 解决方案 > 如何使用自定义属性将数组项映射到新对象?

问题描述

这是我的数组:

const arr = ['first string', 'second string'];

我怎样才能映射这个,所以我得到:

const obj = {'first string': 'found', 'second string', 'found'};

我试过这个:

const obj = arr.forEach(item => {item: 'found'})但它不工作。

标签: javascriptarraysnode.jsobjectfor-loop

解决方案


您可以使用Array.reduce()而不是forEach()

但是,您不能将重复的键分配给对象。

const arr = ['some string', 'some string', 'another string', 'totally different'];


var obj = arr.reduce((acc, cur) => {
  acc[cur] = 'found'
  return acc;
}, {});

console.log(obj);


推荐阅读