访问嵌套数组属性

时间:2020-10-17 18:26:10

标签: javascript arrays

这可能非常简单,但是我无法弄清楚如何遍历和访问以下数组和嵌套对象的组合(我认为)中的属性:

myFilters = {
    "color_Filter": [{
            "name": "BLUE",
            "count": 1,
            "dataId": "BLUE"
        },
        {
            "name": "Black",
            "count": 5,
            "dataId": "Black"
        },
        {
            "name": "Blue",
            "count": 14,
            "dataId": "Blue"
        }
    ],
    "size_Filter": [{
            "name": "10",
            "count": 16,
            "dataId": "10"
        },
        {
            "name": "12",
            "count": 16,
            "dataId": "12"
        }
    ]
}

从上面拉出namecount等的正确循环结构是什么?所需的输出是使用color_Filter=BLUE,Black,Blue/size_Filter=10,12

从上面输出一个字符串

我尝试了几种不同的方法,但到目前为止都没有成功。

1 个答案:

答案 0 :(得分:2)

您可以map对象的entries并为每个键创建一个字符串。使用name从值数组中获取map。然后join/

组成的字符串数组

const myFilters = {color_Filter:[{name:"BLUE",count:1,dataId:"BLUE"},{name:"Black",count:5,dataId:"Black"},{name:"Blue",count:14,dataId:"Blue"}],size_Filter:[{name:"10",count:16,dataId:"10"},{name:"12",count:16,dataId:"12"}]};

const output = Object.entries(myFilters)
                     .map(([k,arr]) => `${k}=${arr.map(a => a.name)}`)
                     .join("/")

console.log(output)