为了账号安全,请及时绑定邮箱和手机立即绑定

为对象内的键分配一个布尔值

为对象内的键分配一个布尔值

扬帆大鱼 2021-04-09 14:15:44
我试图提出一种方法来遍历值数组,将每个值另存为键,并为每个键分配一个“ true”布尔值。目标是创建以下对象:{  "arrayValue" : true,  "anotherArrayValue" : true,  "arrayValueAsWell" : true}我在做:  var objectToCreate = {};  let myArray = ["arrayValue", "anotherArrayValue", "arrayValueAsWell"]  let myArrayConverted = myArray.forEach((prop,index) => objectToCreate[prop] = true)并得到:  {    0 : "arrayValue",    1 : "anotherArrayValue",    2 : "arrayValueAsWell"  }
查看完整描述

4 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

在返回的值forEach()是undefined。您还应该使用赋值(=)运算符将值分配给对象键:


var objectToCreate = {};

let myArray = ["arrayValue", "anotherArrayValue", "arrayValueAsWell"];

myArray.forEach(prop => objectToCreate[prop] = true);

console.log(objectToCreate);


查看完整回答
反对 回复 2021-04-15
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

您可以使用Array.prototype.reduce以下键来创建对象:


const myObject = ["arrayValue", "anotherArrayValue", "arrayValueAsWell"]

  .reduce((acc, value) => ({ ...acc, [value]: true }), {});


console.log(myObject);


查看完整回答
反对 回复 2021-04-15
?
慕村225694

TA贡献1880条经验 获得超4个赞

您可以映射对象并将它们全部分配给一个对象 Object.assign


var array = ["arrayValue", "anotherArrayValue", "arrayValueAsWell"],

    object = Object.assign(...array.map(k => ({ [k]: true })));


console.log(object);


查看完整回答
反对 回复 2021-04-15
?
慕后森

TA贡献1802条经验 获得超5个赞

您可以迭代数组并分配给objectToCreate,如下所示:


  var objectToCreate = {};

  let myArray = ["arrayValue", "anotherArrayValue", "arrayValueAsWell"];

  myArray.forEach(key => objectToCreate[key] = true)';


查看完整回答
反对 回复 2021-04-15
  • 4 回答
  • 0 关注
  • 166 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号