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的答案有什么区别?