简体   繁体   English

Map 一个数组键值

[英]Map an array key value

The key value of my array is another array.我的数组的键值是另一个数组。 I want to filter only the array value.我只想过滤数组值。

This is my array:这是我的数组:

const array = [{
    work: [{
      day: 'Monday',
      number: 8
    }]
  },
  {
    work: [{
      day: 'Tuesday',
      number: 5
    }]
  },
  {
    work: [{
      day: 'Saturday',
      number: 4
    }]
  },
]

My desired array is:我想要的数组是:

const desiredArray = [{
  day: 'Monday',
  number: 8
}, {
  day: 'Tuesday',
  number: 5
}, {
  day: 'Saturday',
  number: 4
}];

I have tried我努力了

const desiredArray  = Object.values(array)
const desiredArray  = Object.keys(array).map(item => array[item])

neither of which worked.两者都不起作用。

You can use .flatMap() to get the desired output:您可以使用.flatMap()获得所需的 output:

 const input = [{ work: [{ day: 'Monday', number: 8 }] }, { work: [{ day: 'Tuesday', number: 5 }] }, { work: [{ day: 'Saturday', number: 4 }] }]; const output = input.flatMap(({ work }) => work); console.log(output);
 .as-console-wrapper { max-height: 100%;important: top; 0; }

You can use map to return a new array from the given array.您可以使用map从给定数组返回一个新数组。

 const array = [{ work: [{ day: 'Monday', number: 8 }] }, { work: [{ day: 'Tuesday', number: 5 }] }, { work: [{ day: 'Saturday', number: 4 }] }, ] const desired = array.map(item => item.work[0]); console.log(desired);

Use map and flat .使用mapflat


array.map(Object.values).flat(2)

 const array = [{ work: [{ day: 'Monday', number: 8 }] }, { work: [{ day: 'Tuesday', number: 5 }] }, { work: [{ day: 'Saturday', number: 4 }] }, ] console.log(array.map(Object.values).flat(2))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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