简体   繁体   中英

Convert arrays of arrays to object with key

I have arrays of arrays which contains something like this:

var values = [[1, 2, 3], [3, 2, 1]]

I've tried .map() and Object.assign but I dont know how to implement it. I want this as an output:

values = [
    {'up': 1, 'middle': 2, 'down': 3},
    {'up': 3, 'middle': 2, 'down': 1}
]

What should I use? This is what Im came up so far:

const object1 = [[1,2,3],[3,2,1]],
  object = []

object1.forEach(function(array) {
   object.map(value => ({'up': array[0], 'mid': array[1], 'down': array[2]}))
 });

console.log(object)

Not very different from what others already did, but a little more elegant:

 let arr = [[1, 2, 3], [3, 2, 1]]; let result = arr.map(([up, middle, down]) => ({up, middle, down})); console.log(result); 

you can simply use Array.map() , there is no need of forEach()

 let arr =[[1, 2, 3], [3, 2, 1]]; let result = arr.map((e)=>({"up" : e[0], "mid" : e[1], "down" : e[2]})); console.log(result); 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM