访问等于 javascript 中特定值的 JSON 属性

Accessing a JSON attribute that is equal to a specific value in javascript

本文关键字:JSON 属性 javascript 访问      更新时间:2023-09-26

我有一个这样的JSON对象数组:

people {
 {
    name: 'Alice',
    age: '25',
 },
 { 
    name: 'Bob',
    age: '34' 
 }
} 
我想访问"姓名"值为"

爱丽丝"的人的"年龄"值。如何在javascript中执行此操作?类似的东西(在逻辑是什么的伪代码中,我知道这在 javascript 中是不可能的):

people['age'].value where name == 'Alice'

结果将是:"25"。似乎有很多相关的JSON问题,但我发现的(据我所知)都没有解决这个特定问题

您需要遍历对象并比较要搜索的内容的名称。

for(prop in people) {
    if(prop.name === "Alice") {
        console.log(prop.age);
    }
}

我们需要 Alice 的年龄,我们遍历所有对象并根据对象名称属性值返回对象的 age 属性值。

由于 people 变量是 JSON 对象的数组,因此无法使用"age"字符串为它们编制索引。 您可以使用简单的 for 循环遍历数组中的所有对象,并找到名称匹配的对象。

这段代码是一个返回一个人的年龄的函数。

function get_age(people_array, name) {
    var length = people_array.length;
    for (var i = 0; i < length; i += 1) {
        if (people_array[i].name == name)
            return people_array[i].age;
    }
}