将两个数组合二为一

时间:2021-07-18 15:24:21

标签: javascript arrays

我已经搜索过,我看到的解决方案是 arr1.push(...arr2),但是当我尝试并控制台记录结果时,我只得到一个返回的数字,我猜是长度或其他东西。

我的第一个 arr 看起来像这样

Array [
  
  Object {
    "first_name": "ann",
    "id": "23440",
    "last_name": "",
    "phone_number": "+51556078",
  },
  Object {
    "first_name": "steve",
    "id": "15692",
    "last_name": "",
    "phone_number": "+15953333",
  },
  Object {
    "first_name": "John",
    "id": "13111",
    "last_name": "",
    "phone_number": "+43879009",
  },
]

第二个数组

Array [
  Object {
    
    "first_name": "King",
    "gender": "",
    "id": 3,
    "identification": "",
    "last_name": "gerald",
    "phone_number": "+65060738",
   
    
  },
  Object {
    
    "first_name": "Jonny",
    "gender": "",
    "id": 4,
    "identification": "",
    "last_name": "Bro",
    "nin": "",
    "phone_number": "+51556078",
    
    
  },
]

我想要的是第一个数组中的所有对象都附加到第二个数组中,这样我就可以显示一个 first_namephone_number 列表

2 个答案:

答案 0 :(得分:2)

  • 尝试使用 concat() 函数,它会返回一个包含 resultarray1 值的新数组 array2

let array1 = [1, 2, 3];
let array2 = [4, 5, 6];

let result = array1.concat(array2);

console.log(result);

更多信息请访问:https://www.w3schools.com/jsref/jsref_concat_array.asp

  • 正如@Boaz 所说,您也可以使用 push() 方法,但它会改变原始数组。这种方法将返回修改后的数组的长度:

let array1 = [1, 2, 3];
let array2 = [4, 5, 6];

let array1_length = array1.push(...array2);
console.log(array1_length);  //print new array1 length
console.log(array1);   //print new array

答案 1 :(得分:1)

这是因为 .push() 返回数组的新长度。 console.log(array1.push(...array2)) 将返回 (array1.length + arra2.length)

let a = [1,2,3]
let b = [5,6]
console.log(a.push(4))
console.log(a)
console.log(a.push(...b))
console.log(a)

您可以记录数组变量以检查您的数组是否被很好地修改。
如果您想使用扩展运算符,您可以随时执行以下操作: let c = [...a,...b]