【发布时间】:2018-02-26 03:16:25
【问题描述】:
我想使用条件返回对象内部元素之一的键值:
const raw = {
item1: { name: 'sdfd1', otherStuff: { book:'sdfd11' } },
item2: { name: 'sdfd2', otherStuff: { book:'sdfd22' } },
item3: { name: 'sdfd3', otherStuff: { book:'sdfd33' } }
};
var anotherOne = {
country1 : { city: 'one', item: 'item3'},
country2 : { city: 'two', item: 'item4'}
}
var searchTerm = anotherOne.country1.item; // item3
var secondTerm = someUser.otherInfo // 'otherStuff'
var result = Object.keys(raw)
.filter(key => {
if (key === searchTerm){
return raw[searchTerm][secondTerm].book
}})
console.log('result:' result); // sdfd33
基本上,我想在对象raw 的键中查找searchTerm,并返回book 键的值。在这个例子中,它应该返回sdfd33。
我的尝试没有返回任何内容。
更新:
更新了问题。
【问题讨论】:
-
key只是一个字符串,返回raw[key].book -
raw[searchTerm].book是您所需要的。
标签: javascript arrays ecmascript-6 javascript-objects