Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
定义JavaScript对象文字以便数组中所有对象的属性都存在?_Javascript_Arrays_Javascript Objects - Fatal编程技术网

定义JavaScript对象文字以便数组中所有对象的属性都存在?

定义JavaScript对象文字以便数组中所有对象的属性都存在?,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我使用默认值定义JavaScript对象文字,以便我的模板以后可以访问它们: self.emails = [{ address: "", validation: { warning: false, message: "", } }]; 这适用于self.emails[0],但我还需要self.emails[1]到self.emails[4]的属性。有没有比打字更好的方法来实现这一点: self.emails = [{ addres

我使用默认值定义JavaScript对象文字,以便我的模板以后可以访问它们:

self.emails = [{
    address: "",
    validation: {
        warning: false,
        message: "",
    }
}];
这适用于
self.emails[0]
,但我还需要
self.emails[1]
self.emails[4]
的属性。有没有比打字更好的方法来实现这一点:

self.emails = [{
    address: "",
    validation: {
        warning: false,
        message: "",
    }
},
    address: "",
    validation: {
        warning: false,
        message: "",
    }
},
    address: "",
    validation: {
        warning: false,
        message: "",
    }
},
    address: "",
    validation: {
        warning: false,
        message: "",
    }
},
    address: "",
    validation: {
        warning: false,
        message: "",
    }
}];
使用一个简单的for循环:

self.emails = []
for (let i = 0; i < 5; i++) {
  self.emails.push({
    address: "",
    validation: {
      warning: false,
      message: "",
    }
  })
}
self.emails=[]
for(设i=0;i<5;i++){
自我推送({
地址:“,
验证:{
警告:错误,
消息:“”,
}
})
}

我将按如下方式完成这项工作

var selfEmails=[{
地址:“,
验证:{
警告:错误,
消息:“”,
}
}],
lonselfemails=Array(…Array(5)).map(o=>{o=Object.assign({},(selfEmails[0]));
o、 validation=Object.assign({},o.validation);
返回o;
}),
modified=lonselfemails.map((o,i)=>{o.validation.message=i;
o、 address=“addr_0”+i;
返回o;
});
控制台日志(修改)可能重复的