如何以功能方式修改对象的所有属性

时间:2018-06-05 14:39:29

标签: javascript

我需要创建一个函数来创建一个新对象,其所有属性in都设置为true,该函数应该创建一个新对象。

如何用香草js做到这一点?我可以使用解构和最新的JS。

   const in = {
        ida:true,
        idb:false,
        idc:false,
        ide:true
    }

结果想要

const out = {
    ida:true,
    idb:true,
    idc:true,
    ide:true
}

3 个答案:

答案 0 :(得分:2)

您可以使用新对象和false作为值映射所有键。稍后将它们分配给单个对象。



const
    inO = { ida: true, idb: false, idc: false, ide: true },
    outO = Object.assign(...Object.keys(inO).map(k => ({ [k]: true })));
    
console.log(outO);




答案 1 :(得分:2)

好吧,您可以使用opacity: 0和点差运算符来完成此任务:



Object.keys




答案 2 :(得分:0)

您可以使用for..in循环迭代对象的键:



function setTrue(obj) {
  for (k in obj) obj[k] = true;
}

const o = {
  ida: true,
  idb: false,
  idc: false,
  ide: true
}

setTrue(o);
console.log(o);