给定一个数组。我想创建一个循环遍历arr的函数递归,并将键/值对推入新数组(arr2)中,如下所示:

var arr2 = []
function recursive(arr) // function gets executed
arr2 //will return the array with arrays
[
    [ mike, 22]
    [ robert, 12]
    [ roger, 44]
    [ peter, 28]
    [ ralph, 67]
]


到目前为止,我有这段代码,但是它将对象推入arr2,而不是数组!



var arr =[{name:'mike', age:22},{name:'robert', age:12},{name:'roger', age:44},{name:'peter', age:28},{name:'Ralph', age:67}]

var arr2 = []

function recursive(arr) {
  if (Array.isArray(arr)) {
    arr.forEach(function(object) {
      arr2.push(object)
    })
  }
}

recursive(arr)
console.log(arr2)





我该如何解决?

PS:因为我是初学者,所以请尽量坚持使用我的代码方法。我相信有更好的方法可以做到这一点。

最佳答案

您可以像这样简单地映射:

var arr2 = arr.map(x=>[x.name, x.age]);

关于javascript - 如何遍历一个数组(递归)并将对象键/值对插入另一个数组中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57989554/

10-11 04:19