如何解决使用JavaScript将深层嵌套对象的值打印为数组
我有以下对象,并且我试图创建一个将结果打印为仅包含嵌套'rgba'值作为数组的数组的函数:
const colorObject = {
"colors": [
{
"color": "black","category": "hue","type": "primary","code": {
"rgba": [255,255,1]
}
},{
"color": "white","category": "value","code": {
"rgba": [0,{
"color": "red",{
"color": "blue",{
"color": "yellow",{
"color": "green","type": "secondary","code": {
"rgba": [0,1]
}
},]
}
到目前为止,我已经走了很长一段路并产生了结果,但是我知道必须有一种更有效的方法:
function dispArrayRgbaCode() {
let arrayRgbaCode = [
colorObject['colors'][0]['code']['rgba'],colorObject['colors'][1]['code']['rgba'],colorObject['colors'][2]['code']['rgba'],colorObject['colors'][3]['code']['rgba'],colorObject['colors'][4]['code']['rgba'],colorObject['colors'][5]['code']['rgba'],]
console.log(arrayRgbaCode)
}
dispArrayRgbaCode()
我是全新的,并且已经签出了MDN文档中的对象使用说明。我想问问社区应该是我的荣幸,所以我也可以向同龄人学习。任何指导将不胜感激。
解决方法
您可以使用Array.map
从rgba
数组中的每个对象中提取colorObject.colors
值并返回它们的数组:
colorObject.colors.map(c => c.code.rgba)
演示:
const colorObject = {
"colors": [{
"color": "black","category": "hue","type": "primary","code": {
"rgba": [255,255,1]
}
},{
"color": "white","category": "value","code": {
"rgba": [0,{
"color": "red",{
"color": "blue",{
"color": "yellow",{
"color": "green","type": "secondary",]
}
console.log(colorObject.colors.map(c => c.code.rgba));
,
您可以使用Mapper并实现以下目标。
const colorObject = {
"colors": [{
"color": "black",]
};
var newRgbaArray = colorObject.colors.map(function(rgbaItem) {
return rgbaItem.code.rgba;
});
console.log(newRgbaArray);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。