如何使用Javascript从json中的“深层”创建类似集合的数组

How to create a set-like array from something "deep" in json using Javascript

本文关键字:创建 集合 数组 深层 Javascript 何使用 json 中的      更新时间:2023-09-26
[
    {
        "item": "1",
        "values": [{"name": "A"}]
    },
    {
        "item": "2",
        "values": [{"name": "B"}]
    },
    {
        "item": "3",
        "values": [{"name": "A"}]
    }
]

所需的结果是:从名称字段中抓取["A", "B"]

它的"Javascript实践"是什么?谢谢。

首先,嵌套数组定义中存在语法错误。

"values": ["name": "A"]  // this is not valid javascript

。我猜你想要更多这样的东西?

x=[
    {
        "item": "1",
        "values": {"name": "A"}
    },
    {
        "item": "2",
        "values": {"name": "B"}
    },
    {
        "item": "3",
        "values": {"name": "A"}
    }
]

其次,对于您的真正问题 - 我会使用下划线 JS 或 Lodash 库来提供帮助。特别是它们的地图功能。因此,假设您使用了我上面为 x 定义的对象,并且正在使用下划线 JS...

.map(x, function(y){return y.values.name})
["A", "B", "A"]

希望有帮助。