首页 > 解决方案 > 将数组转换为对象,其中数组值为对象键且对象值为空

问题描述

我正在开发一个 reactjs 网络应用程序我有一个类似的数组

let arr = ["name","message", etc...];

我想将它转换为对象但看起来像

let desired = { name:'', message:'' };

我尝试了几件事,但都没有奏效。

标签: javascriptarraysjsonobjectecmascript-6

解决方案


如果您只想为数组中的每个值分配一个空字符串的值,请使用reduce

let arr = ["name","message", "etc"];
let desired = arr.reduce((acc, curr) => (acc[curr] = "", acc), {});
console.log(desired);
.as-console-wrapper { max-height: 100% !important; top: auto; }

ES5 语法:

var arr = ["name","message", "etc"];
var desired = arr.reduce(function(acc, curr) {
  acc[curr] = "";
  return acc;
}, {});
console.log(desired);
.as-console-wrapper { max-height: 100% !important; top: auto; }


推荐阅读