所以我有一个看起来像的对象:
var computer={
"Home":{
"Applications":{
"Desktop":{
},
"Documents":{
},
"Downloads":{
},
"Library":{
},
"Movies":{
},
"Music":{
},
"Pictures":{
}
}
},
"Library":{
},
"Downloads":{
},
"Files":{
},
"Devices":{
"USB":{
},
"Hard_Drive":{
}
}
}
我还有一个输入框,应该接收用户对location
的输入。然后使用console.log(computer[location]);
查找该位置应该显示该对象的所有子项。所以基本的想法是:
var location = document.getElementById("inputId");
console.log(computer[location]);
我可以使用哪些模式来完成这项工作?我也愿意改变将计算机作为对象或任何其他变化的想法。我只需要做这个工作。提前谢谢。
答案 0 :(得分:0)
我想我终于明白了。此代码将遍历对象,如果找到该字符串,则将值设置为“target”变量。
var obj = {
name: "Darin",
age: 30,
occupation: "Programmer",
employers: {
burgerKing:{
name: "Burger King",
startDate: "2001",
endDate: "2006"
}
}
}
var target = null; //the final value is stored here
function finder(obj, key){
$.each(obj, function(k,v){
if(typeof v == "object"){
finder(v, key);
}
else{
if(k == key) target = v;
}
});
}
finder(obj, "startDate");