javascript - 通过 ID 从数组中获取特定 JSON 对象并返回 JSON 对象 (Javascript/JQuery)

标签 javascript jquery arrays json

我正在尝试使用 JavaScript 从对象数组中提取特定的 JSON 对象。这是我的 JSON:

"Awards": [
   {
     "Award1": {
        "title": "Award1 Title",
        "recipient": "John Doe",
        "description": "Blah Blah Blah"
     }
   },
   {
     "Award2": {
        "title": "Award2 Title",
        "recipient": "Tom White",
        "description": "Blah Blah Blah"
     }
   },
   {
      "Award3": {
         "title": "Award3 Title",
         "recipient": "Will Biggs",
         "description": "Blah Blah Blah"
      }
   }
]

我想要做的是创建一个函数,它接受数据和 id,在数组中查找对象并返回整个对象。例如,如果我搜索 Award1,我希望它返回:

var obj = {
 "title": "Award1 Title",
 "recipient": "John Doe",
 "description": "Blah Blah Blah"
}

然后我就可以像这样访问数据:

obj.recipient // Which would return John Doe

想法?

最佳答案

查找包含属性 key=Award1 的第一个对象并返回它。

const findKey = (list, key)=>(list.find(obj=>obj[key])||{})[key]

data = {
"Awards": [
   {
     "Award1": {
        "title": "Award1 Title",
        "recipient": "John Doe",
        "description": "Blah Blah Blah"
     }
   },
   {
     "Award2": {
        "title": "Award2 Title",
        "recipient": "Tom White",
        "description": "Blah Blah Blah"
     }
   },
   {
      "Award3": {
         "title": "Award3 Title",
         "recipient": "Will Biggs",
         "description": "Blah Blah Blah"
      }
   }
]
}

console.log(data.Awards.find(obj=>obj["Award1"]))

let key = "Award1"
console.log(data.Awards.find(obj=>obj[key])[key].title)

console.log(
findKey(data.Awards,'Award1')
)

console.log(
findKey(data.Awards,'Award2')
)

console.log(
findKey(data.Awards,'Award3')
)

关于javascript - 通过 ID 从数组中获取特定 JSON 对象并返回 JSON 对象 (Javascript/JQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62100491/

相关文章:

javascript - 为什么 charAt 检测不到字符串?

java - ChartJS "Unable to get property ' getTime' 未定义或空引用”

javascript - 通过验证将 Angular 形式输入到数组

python - 根据条件将 numpy 数组值设置为 NaN

javascript - 无法将模型添加到主干集合

javascript - 使用 jQuery 计算字符/短信

javascript - ReactJS CSS 类不工作

javascript - owl carousel 在 ajax 加载的项目上不能正常工作

javascript - jQuery 在 .find() 之后使用选择器

java - 对象数组内的对象数组