我是Javascript的新手。我想创建动态对象数组。这里例如
我有一个构造函数数组,其中我得到了一些值。在我的构造函数中,MyItms有一些属性,如值和属性。我想通过分配或映射到属性
来创建一个对象var Item = MyItems;
for(var i=0; i<MyItems.length; i++){
var Values = MyItems[i]._value; // Car is my value here
var prop = MyItems[i]._property; // Name
var obj ={
prop : Values
};
}
但在这种情况下,obj返回的值如
`prop : car`,
我在这里期待的是 名称:汽车
此外,我想要所有MyItems
的对象数组。任何方式来获得这个。
提前谢谢。
答案 0 :(得分:5)
在较新的JS中,你可以写这个(注意方括号):
var obj = {
[prop]: Values
};
在较旧的JS中,这是不可用的,你需要这样做(仍然适用于新的JS):
var obj = {};
obj[prop] = Values;
如果您想要一个对象数组,可以在顶部初始化一个空数组:
var objs = [];
然后将每个obj
推入其中:
objs.push(obj);
或者,更可读的是,您可以使用map
功能:
var objs = MyItems.map(function(item) {
...
return resultObj;
});