我有一个像这样的JSON对象数组:
people {
{
name: 'Alice',
age: '25',
},
{
name: 'Bob',
age: '34'
}
}
我想访问'name'值为'Alice'的人的'age'值。我如何在javascript中执行此操作?类似的东西(在逻辑中的伪代码我知道这在javascript中是不可能的):
people['age'].value where name == 'Alice'
结果将是:'25'。似乎有很多相关的JSON问题,但我发现的(我发现的)都没有解决这个特定的问题
答案 0 :(得分:1)
您需要遍历对象并比较您要搜索的内容的名称。
for(prop in people) {
if(prop.name === "Alice") {
console.log(prop.age);
}
}
我们需要Alice的年龄,我们迭代所有对象并根据对象名称属性值返回对象的age属性值。
答案 1 :(得分:0)
由于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;
}
}