JavaScript通过数组的赋值迭代到对象

JavaScript iterate through assign values of array to object

本文关键字:迭代 对象 赋值 数组 JavaScript      更新时间:2023-09-26

我有一个具有动态数量属性的对象和一个包含动态数量项目的数组。我需要遍历它们,并将数组的值赋给对象的属性。

var obj = {
  property1: null,
  property2: null,
  .....
};
var array = ["some value1", "some value2"...];
必须

var obj = {
  property1: "some value1",
  property2: "some value2",
  .....
}

如果字面上property1等,那么它非常简单,因为我们可以使用数组索引和括号符号从索引(加1)构建属性名称:

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);

以下是我的答案。

var obj = {
  property1: null,
  property2: null,
};
var array = ["some value1", "some value2"];
var i=0
for (var index in obj) {
  if (obj.hasOwnProperty(index)) {
    obj[index]=array[i];
  }
  i++;
}
console.log(obj);