如何制作多个嵌套对象的数组?

我有这样一个对象。


let Filus = {

     male: {

    hat: [1],

    jacket: [2],

    pants: [3],

    shoes: [4],

    suit: [5]

  }

};

我想从这个对象得到这个数组。


let Filus = [1,2,3,4,5];

怎么做?


蝴蝶不菲
浏览 95回答 3
3回答

明月笑刀无情

只需使用Object.values和flat-即使您不知道嵌套对象的键也可以使用:let Filus = {  male: {    hat: [1],    jacket: [2],    pants: [3],    shoes: [4],    suit: [5]  }};const res = Object.values(Object.values(Filus)[0]).flat();console.log(res);ES5语法:var Filus = {  male: {    hat: [1],    jacket: [2],    pants: [3],    shoes: [4],    suit: [5]  }};var res = Object.keys(Filus[Object.keys(Filus)[0]]).map(function(key) {   return Filus[Object.keys(Filus)[0]][key];}).reduce(function(acc, curr) {  return acc.concat(curr);});console.log(res);如果您拥有密钥,这也很容易:let Filus = {  male: {    hat: [1],    jacket: [2],    pants: [3],    shoes: [4],    suit: [5]  }};const res = Object.values(Filus.male).flat();console.log(res);ES5语法:var Filus = {  male: {    hat: [1],    jacket: [2],    pants: [3],    shoes: [4],    suit: [5]  }};var res = Object.keys(Filus.male).map(function(key) {   return Filus.male[key];}).reduce(function(acc, curr) {  return acc.concat(curr);});console.log(res);

30秒到达战场

您可以male使用来获取嵌套对象的值,Object.values()然后使用flat()let Filus = { male : { hat: [1], jacket: [2], pants: [3], shoes: [4], suit: [5] } };const res = Object.values(Filus.male).flat();console.log(res)您也可以不flat()使用concat()和传播运算符。let Filus = { male : { hat: [1], jacket: [2], pants: [3], shoes: [4], suit: [5] } };const res = [].concat(...Object.values(Filus.male));console.log(res)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript