Javascript 将字符串推入对象
我有一个对象数组和一个字符串数组,我把它们按顺序组合起来,这意味着我希望数组中的第一项只存储在第一个对象中,数组中的第二项只存储在第二个对象中,等等。类似下面的内容Javascript 将字符串推入对象,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我有一个对象数组和一个字符串数组,我把它们按顺序组合起来,这意味着我希望数组中的第一项只存储在第一个对象中,数组中的第二项只存储在第二个对象中,等等。类似下面的内容 var objects = [ obj1, obj2, obj3]; var strings = ["123", "456", "789"]; //Result var results = [ { "obj1": { number: "123" }, {
var objects = [ obj1, obj2, obj3];
var strings = ["123", "456", "789"];
//Result
var results = [
{
"obj1": {
number: "123"
},
{
"obj2": {
number: "456"
},
{
"obj2": {
number: "789"
}
];
我一直在尝试使用push和for循环来实现这一点,但似乎最终每个对象都包含所有三个字符串。匹配的对象和字符串共享相同的数组索引:
for (var i = 0; i < objects.length; i++) {
objects[i].number = strings[i];
}
for(var i=0;i
匹配的对象和字符串共享相同的数组索引:
for (var i = 0; i < objects.length; i++) {
objects[i].number = strings[i];
}
for(var i=0;i
这很简单:-
for (var i = 0; i < objects.length; i++) {// start loop for getting values one by one from object array
objects[i].number = strings[i]; // assign string values to object array values
}
for(var i=0;i
这很简单:-
for (var i = 0; i < objects.length; i++) {// start loop for getting values one by one from object array
objects[i].number = strings[i]; // assign string values to object array values
}
for(var i=0;i
或者您可以使用映射功能执行此操作:
var results = objects.map(function (value, index) {
return Object.assign({}, value, { number: strings[index] });
});
其他答案都很好,我只是想给你另一种方法。这样,您也不会修改现有的对象数组
如果您不知道Object.assign,请将其他对象参数的所有属性添加到第一个参数(在本例中为空对象{})。您可以在此处阅读更多信息:
此外,您可以在此处了解map函数:,也可以使用map函数:
var results = objects.map(function (value, index) {
return Object.assign({}, value, { number: strings[index] });
});
其他答案都很好,我只是想给你另一种方法。这样,您也不会修改现有的对象数组
如果您不知道Object.assign,请将其他对象参数的所有属性添加到第一个参数(在本例中为空对象{})。您可以在此处阅读更多信息:
此外,您还可以在此处了解映射函数:您的答案和@factor的答案有什么区别?您的答案和@factor的答案有什么区别?