JavaScript迭代将数组的值分配给对象

JavaScript迭代将数组的值分配给对象,javascript,arrays,Javascript,Arrays,我有一个属性数量动态的对象和一个项目数量动态的数组。我需要遍历它们,并将数组的值赋给对象的属性 var obj = { property1: null, property2: null, ..... }; var array = ["some value1", "some value2"...]; 必须是 var obj = { property1: "some value1", property2: "some value2", ..... } 如果您有prope

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

var obj = {
  property1: null,
  property2: null,
  .....
};

var array = ["some value1", "some value2"...];
必须是

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

如果您有
property1
等,那么它非常简单,因为我们可以使用数组索引和括号表示法从该索引(加上一个)构建属性名称:

var obj={
属性1:null,
属性2:空
//.....
};
变量数组=[“某些值1”,“某些值2”/*..*/];
forEach(函数(值、索引){
//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
obj[“属性”+(索引+1)]=值;
//^------------------^------括号表示属性
//使用运行时定义的名称
});

控制台日志(obj)如果您字面上有
property1
等,那么它非常简单,因为我们可以使用数组索引和括号表示法从该索引(加一)构建属性名称:

var obj={
属性1:null,
属性2:空
//.....
};
变量数组=[“某些值1”,“某些值2”/*..*/];
forEach(函数(值、索引){
//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
obj[“属性”+(索引+1)]=值;
//^------------------^------括号表示属性
//使用运行时定义的名称
});
控制台日志(obj)这是我的答案。
如果属性的名称是动态的

var obj={
属性1:null,
属性2:null,
};
变量数组=[“某些值1”,“某些值2”];
变量i=0
对于(obj中的var指数){
if(对象hasOwnProperty(索引)){
obj[index]=数组[i];
}
i++;
}
控制台日志(obj)这是我的答案。
如果属性的名称是动态的

var obj={
属性1:null,
属性2:null,
};
变量数组=[“某些值1”,“某些值2”];
变量i=0
对于(obj中的var指数){
if(对象hasOwnProperty(索引)){
obj[index]=数组[i];
}
i++;
}

控制台日志(obj)对象属性名称没有任何order@PranavCBalan:嗯,它们在ES2015及以上版本中都有,但实际上,这并不是一件有用的事情。我当然不会依赖它来实现上述内容。@qr11:如何确定
数组[0]
中的值用于
属性1
,等等。?希望不是按对象中属性的顺序?属性名称中是否有数字?您可以使用字符串值使用数组语法获取/设置属性:
obj[“property”+integerVariable]
@T.J.Crowder按顺序在arrayobject属性名称中没有任何order@PranavCBalan:嗯,它们在ES2015及以上版本中都有,但实际上,这并不是一件有用的事情。我当然不会依赖它来实现上述内容。@qr11:如何确定
数组[0]
中的值用于
属性1
,等等。?希望不是按对象中属性的顺序?属性名称中是否有数字?您可以使用字符串值来使用数组语法获取/设置属性:
obj[“property”+integerVariable]
@T.J.Crowder By order in array