将字符串转换为对象键值

时间:2018-08-06 14:16:35

标签: javascript ecmascript-6 underscore.js

我正在寻求将空格分隔的字符串转换为对象键值。

输入

var inputStr = "tab ers cda-de";

所需的输出

{
    tab: true,
    ers: true,
    cda-de: true
}

我有下划线和JavaScript ES6,有没有比这更好的方法了?

var splitString = inputStr.split(" ");

var obj = {};
array.forEach(function(item, index) {
       obj[item] = true;
  }
});

2 个答案:

答案 0 :(得分:1)

您可以尝试:

"tab ers cda-de".split(' ').reduce((acc, key) => ({ ...acc, [key]: true }), {})

答案 1 :(得分:1)

使用split从该字符串创建一个数组,然后使用reduce方法返回从该字符串数组创建的对象

let str = "tab ers cda-de"

let m = str.split(' ').reduce((acc, curr) => {
  acc[curr] = true
  return acc;
}, {});

console.log(m)