如何在Javascript中的嵌套对象中查找特定值
我有一个问题,如果我有一个像如何在Javascript中的嵌套对象中查找特定值,javascript,object,Javascript,Object,我有一个问题,如果我有一个像 let users = { { name: sam, age: 21 }, { name: ram, age: 24 }, { name: jhon, age: 23 }, } 如何访问该对象中某个对象的特定值(“用户”) 比如,我想要jhon的年龄,你现在拥有的不是有效的Javascript。向嵌套对象添加关键点并按关键点引用它们: 让用户={ “山姆”:{ 姓名:“山姆”, 年龄:21 },
let users = {
{
name: sam,
age: 21
},
{
name: ram,
age: 24
},
{
name: jhon,
age: 23
},
}
如何访问该对象中某个对象的特定值(“用户”)
比如,我想要jhon的年龄,你现在拥有的不是有效的Javascript。向嵌套对象添加关键点并按关键点引用它们:
让用户={
“山姆”:{
姓名:“山姆”,
年龄:21
},
“ram”:{
名称:“ram”,
年龄:24
},
“jhon”:{
姓名:“jhon”,
年龄:23
}
};
让jhonAge=users.jhon.age;
首先,您的对象无效
其次,您可以通过使用嵌套循环来实现所需的功能
通过循环抛出users
对象中的所有对象,并测试每个对象的名称
注意:这一个就可以了。你可以做得不同。
让用户={
“0”:{姓名:“萨姆”,年龄:21},
“1:{姓名:“拉姆”,年龄:24},
“2:{姓名:“jhon”,年龄:23}
}
for(让usersKey输入用户){
for(让输入用户[usersKey]){
if(key==“name”&&users[usersKey][key]==“jhon”){
log(“Jhon的年龄是:”users[usersKey][“age”])
}
}
}
我想你的意思是用户
是一个对象数组。在这种情况下,您可以使用
让用户=[
{
姓名:“山姆”,
年龄:21
},
{
名称:“ram”,
年龄:24
},
{
姓名:“jhon”,
年龄:23
},
];
const{age}=users.find(({name})=>name==“jhon”);
控制台日志(年龄)
您可以使用find
方法,如果您有这样一个对象,您将获得未捕获的语法错误,请查看以下链接:意外标记“{”
error@AlonEitan这也是这里的第一个问题。下一个问题是sam
不是一个变量。