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