我有具有动态数量的属性的对象和具有动态数量的项目的数组。我需要遍历它们并将数组的值分配给对象的属性。
var obj = {
property1: null,
property2: null,
.....
};
var array = ["some value1", "some value2"...];
必须
var obj = {
property1: "some value1",
property2: "some value2",
.....
}
最佳答案
如果您字面上有property1
等,那么这非常简单,因为我们可以使用数组索引和括号表示法从该索引构建属性名称(加一):
var obj = {
property1: null,
property2: null
//.....
};
var array = ["some value1", "some value2"/*...*/];
array.forEach(function(value, index) {
// vvvvvvvvvvvvvvvvvvvvvvvv------ string concat to build the property name
obj["property" + (index + 1)] = value;
// ^------------------------^----- brackets notation to refer to the property
// using a runtime-defined name
});
console.log(obj);
关于JavaScript 迭代将数组的值分配给对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38872321/