【发布时间】:2016-06-18 19:11:50
【问题描述】:
我有一个数组,它的元素是字符串格式,像这样:
somearray = ["abc", "pqr", "xyz"]
我需要从这个数组中创建一个对象,我已将其变量声明为var newobject = {}。我试过这个:
var newobject = {};
var index = 0;
somearray.forEach(function() {
newobj = {
name : somearray[index]
};
index++;
});
这确实创建了一个对象,但仅包含数组中的最后一个字符串 (somearray)
如果不是
newobj = {
name : somearray[index]
};
我写
newobj[index] = {
name : somearray[index]
};
对象被命名为 0,1,2。我不希望这种情况发生,我也不希望其他任何东西代替它。 有没有像我们对数组使用 push 方法一样的方法?
【问题讨论】:
-
您到底想达到什么目的?一个对象的每个值总是有一个键。
-
你想要什么作为对象的键和值?
-
请向我们展示预期结果的外观(如 JSON)
-
预期输出为 [object, object, object] 其中每个对象为 {name: "abc/pqr/xyz"}
-
var result = somearray.map(function(str, i) { return {name: str} })
标签: javascript arrays object javascript-objects