Combine the values of two arrays into object

前端 未结 5 1588
遥遥无期
遥遥无期 2021-01-21 08:43

I have two arrays:

array1 = [\"Bob\", \"John\", \"Dave\"];
array2 = [1, 2, 3];

Is there combine the two into a javascript array filled with obj

5条回答
  •  没有蜡笔的小新
    2021-01-21 08:59

    Let's break it down.

    You have two arrays of equal length and you want to extract a value from each.

    // Could also do array2.length since they're the same size
    for (var i = 0; i < array1.length; i++) {
      var val1 = array1[i];
      var val2 = array2[i]
    }
    

    and you want to create an object using those two values

    for (var i = 0; i < array1.length; i++) {
      var val1 = array1[i];
      var val2 = array2[i]
      var obj = {
        meta: val1,
        value: val2
      };
    }
    

    Finally, you want to store each of those generated objects in an array

    var result = [];
    for (var i = 0; i < array1.length; i++) {
      var val1 = array1[i];
      var val2 = array2[i]
      var obj = {
        meta: val1,
        value: val2
      };
      result.push(obj);
    }
    

    And now you have your result!

    You could rewrite this in a number of ways. For example:

    var result = array1.map(function(val1, index) {
      return {
        meta: val1,
        value: array2[index]
      };
    });
    

    or if you're in an environment which supports it:

    let result = array1.map((val1, index) => (
      {
        meta: val1,
        value: array2[index]
      }
    ));
    

提交回复
热议问题