首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用javascript将字符串数组转换为字段名

使用javascript将字符串数组转换为字段名
EN

Stack Overflow用户
提问于 2018-02-08 22:51:04
回答 5查看 171关注 0票数 0

我想知道在javascript中,最好是es6中,是否有一种很好的方法来将映射函数产生的字符串数组转换为动态创建的对象中的字段名。

例如,假设我从map函数中获得了以下结果:

代码语言:javascript
复制
["checkbox1Value", "checkbox4Value"]

我想用这些结果来做这些事情:

代码语言:javascript
复制
const answer = {
     //some other fields dynamically created
     checkbox1Value: true,
     checkbox4Value: true 
}

不管怎么说,这是通过es6完成的吗?

EN

回答 5

Stack Overflow用户

发布于 2018-02-08 22:55:48

您可以使用computed property names并映射单个对象,然后将其指定给单个对象。

代码语言:javascript
复制
var array = ["checkbox1Value", "checkbox4Value"],
    object = Object.assign(...array.map(k => ({ [k]: true })));

console.log(object);

票数 4
EN

Stack Overflow用户

发布于 2018-02-08 22:53:46

代码语言:javascript
复制
    let result = ["checkbox1Value", "checkbox4Value"];
    const answer = result.reduce((acc, cur) => {acc[cur] = true; return acc}, {});

    console.log(answer);

.reduce实际上只是一个花哨的for循环(一种"ES6方式“)。如果你想获得最大的效率,可以使用常规的for循环。

票数 3
EN

Stack Overflow用户

发布于 2018-02-08 22:54:01

代码语言:javascript
复制
const myArray = ["checkbox1Value", "checkbox4Value"];

let obj = {};

myArray.forEach(val => {
    obj[val] = true;
})

console.log(obj);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48688268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档