我有一个看起来像这样的Javascript对象:
[{
"House 1": [
"Room 1": [
{"1": "TV"},
{"2": "Sofa"},
],
"Room 2": [
{"3": "Desk"},
{"4": "Sink"},
]
],
"House 2": [
"Room 1": [
{"5": "Chair"},
{"6": "Iron"},
],
"Room 1": [
{"7": "Safe"},
{"8": "Cupboard"},
]
],
}]
我想传递一个4
(接收器项目)之类的项目密钥,并能够检索“房间索引”(2号房间)和“房子钥匙”(1号房子)。
我能做到这一点吗?我知道.find()
可能是个窍门,但是在多维的情况下,我无法全神贯注地做到这一点。
编辑:
我可以像这样遍历所有对象,但是我想知道是否有更简单的方法。
// loop through houses
for (var key in obj) {
// loop rooms
for (var key2 in obj[key]) {
// loop through assets
for (var key3 in obj[key][key2]) {
if(key3 == venueId) {
console.log("found it!" + obj[key][key2][key3]);
}
}
}
}
答案 0 :(得分:0)
reduce怎么样?
public signIn(email: string, password: string): Observable<string> {
return this.jsonServerService.get('login').pipe(
map(users => {
if (/* valid */) {
return user.userId;
} else {
throw new Error('Error');
}
}),
);
}