Javascript 在for each中创建对象及其对象属性

Javascript 在for each中创建对象及其对象属性,javascript,arrays,Javascript,Arrays,嗨,我想从已经有名称的对象的数组值创建属性。我的意思是我不想推送匿名对象,比如push({date://whatever}) 这是我的代码: var obj={} var arrayObjects=[] 风险值日期=[“2017年3月2日”、“2017年3月2日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”] 对于(变量i=0;i

嗨,我想从已经有名称的对象的数组值创建属性。我的意思是我不想推送匿名对象,比如push({date://whatever})

这是我的代码:

var obj={}
var arrayObjects=[]
风险值日期=[“2017年3月2日”、“2017年3月2日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”]
对于(变量i=0;i}
您可以生成对象并将其推送到结果集

var arrayObjects=[],
日期=[“2017年3月2日”、“2017年3月2日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”],
我
对于(i=0;iconsole.log(ArrayObject)您可以生成对象并将其推送到结果集

var arrayObjects=[],
日期=[“2017年3月2日”、“2017年3月2日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”],
我
对于(i=0;i使用
数组#reduce

var日期=[“2017年3月2日”、“2017年3月2日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”],
结果=日期。减少(函数,a){
var obj={};
obj.date=a;
s、 推(obj);
返回s;
}, []);
控制台日志(结果)使用
数组#reduce

var日期=[“2017年3月2日”、“2017年3月2日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”],
结果=日期。减少(函数,a){
var obj={};
obj.date=a;
s、 推(obj);
返回s;
}, []);
控制台日志(结果)您可以使用
map()
返回对象数组

var日期=[“2017年3月2日”、“2017年3月2日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”]
var arrayObjects=dates.map(函数(日期){
返回{date:date}
})
log(ArrayObject)
您可以使用
map()
返回对象数组

var日期=[“2017年3月2日”、“2017年3月2日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”]
var arrayObjects=dates.map(函数(日期){
返回{date:date}
})

log(arrayObjects)
不要忘记分号
。此外,您不必使用
obj

只需使用
{date:dates[i]}

var arrayObjects=[];
风险值日期=[“2017年3月2日”、“2017年3月2日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”];
对于(变量i=0;iconsole.log(ArrayObject)别忘了分号
。此外,您不必使用
obj

只需使用
{date:dates[i]}

var arrayObjects=[];
风险值日期=[“2017年3月2日”、“2017年3月2日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”];
对于(变量i=0;i您的代码包含:

arrayObjects.push( obj["date"]= dates[i])
这将为日期的每个元素设置属性obj.date,并将指定的字符串值推送到ArrayObject

使用

为每个字符串值创建一个对象。 这将是你最初的陈述

var obj= {}
只要您不在其他任何地方使用它,它就会过时…

您的代码包含:

arrayObjects.push( obj["date"]= dates[i])
这将为日期的每个元素设置属性obj.date,并将指定的字符串值推送到ArrayObject

使用

为每个字符串值创建一个对象。 这将是你最初的陈述

var obj= {}
只要您不在其他任何地方使用它,它就过时了…

您可以使用ES6方法迭代
日期
数组,将元素推送到
数组对象

施工日期=[“2017年3月2日”、“2017年3月2日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”];
常量数组对象=[];
(d)日期{
arrayObjects.push({date:d});
}
console.log(ArrayObject)
您可以使用ES6方法迭代
日期
数组,将元素推送到
数组对象

施工日期=[“2017年3月2日”、“2017年3月2日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”、“2017年3月1日”];
常量数组对象=[];
(d)日期{
arrayObjects.push({date:d});
}

console.log(ArrayObject)为什么不想推送匿名对象?你想要的结果有什么不同?有趣的是,到目前为止有4个答案,但没有一个使用
forEach
@GerardoFurtado我补充道one@Weedoze因为我以后需要使用同一个对象在异步操作中重复该过程为什么不推送匿名对象?你想要的结果有什么不同?有趣的是,到目前为止有4个答案,但没有一个使用
forEach
@GerardoFurtado我补充道one@Weedoze因为我以后需要使用同一个对象在异步操作中重复该过程,所以我想在异步操作中的其他地方使用它操作…问题是我想在异步操作中的其他地方使用它…dv不是从我这里来的,但它是一种不寻常的替换方法,其中map是要使用的方法。它正是为了这个,为了回报