3 回答
TA贡献1828条经验 获得超4个赞
只需使用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);
TA贡献1828条经验 获得超6个赞
您可以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)
添加回答
举报