【问题标题】:Retrieve all matching values from json array从 json 数组中检索所有匹配的值
【发布时间】:2021-10-18 02:32:04
【问题描述】:

我有一个 json 数组。我想检索 listid=n 的所有“标签”值;

[
    {"listid":"1","tag":"ONE"},
    {"listid":"1","tag":"TWO"},
    {"listid":"1","tag":"THREE"},
    {"listid":"2","tag":"ONE"},
    {"listid":"2","tag":"TWO"},
    {"listid":"2","tag":"THREE"},
    {"listid":"2","tag":"FOUR"},
    {"listid":"3","tag":"ONE"},
    {"listid":"3","tag":"FOUR"},
    {"listid":"3","tag":"TWO"},
    {"listid":"3","tag":"SIX"},
    {"listid":"3","tag":"FIVE"},
    {"listid":"3","tag":"THREE"}
]

我找到了如何在数组中搜索单个值,但在返回多个我需要的值时,我似乎找不到任何东西,作为 json 数组。

【问题讨论】:

  • 你试过过滤器吗? list.filter(el => el.listid===n)

标签: javascript jquery arrays json


【解决方案1】:

您可以先filter 获取您想要的项目,然后map 获取您想要的特定属性。

let a = [
    {"listid":"1","tag":"ONE"},
    {"listid":"1","tag":"TWO"},
    {"listid":"1","tag":"THREE"},
    {"listid":"2","tag":"ONE"},
    {"listid":"2","tag":"TWO"},
    {"listid":"2","tag":"THREE"},
    {"listid":"2","tag":"FOUR"},
    {"listid":"3","tag":"ONE"},
    {"listid":"3","tag":"FOUR"},
    {"listid":"3","tag":"TWO"},
    {"listid":"3","tag":"SIX"},
    {"listid":"3","tag":"FIVE"},
    {"listid":"3","tag":"THREE"}
]

let n = "2"
let found = a.filter(item => item.listid === n).map(item => item.tag)

console.log(found)

这是假设您想在 javascript 中执行此操作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 2016-05-28
    • 1970-01-01
    • 2019-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多