Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript按对象键过滤并返回嵌套对象键的值_Javascript_Arrays_Ecmascript 6_Javascript Objects - Fatal编程技术网

javascript按对象键过滤并返回嵌套对象键的值

javascript按对象键过滤并返回嵌套对象键的值,javascript,arrays,ecmascript-6,javascript-objects,Javascript,Arrays,Ecmascript 6,Javascript Objects,我想使用一个条件返回对象内部某个元素的键值: const raw = { item1: { name: 'sdfd1', otherStuff: { book:'sdfd11' } }, item2: { name: 'sdfd2', otherStuff: { book:'sdfd22' } }, item3: { name: 'sdfd3', otherStuff: { book:'sdfd33' } } }; var anotherOne = { country1 :

我想使用一个条件返回对象内部某个元素的键值:

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
。 我的尝试一无所获

更新:
更新了问题。

通过变量访问对象键时使用方括号
[]
。 希望
过滤器
对象。在这种情况下不需要键

const-raw={
项目1:{
名称:“sdfd1”,
书籍:《sdfd11》
},
项目2:{
名称:“sdfd2”,
书:《sdfd22》
},
项目3:{
名称:“sdfd3”,
书:《sdfd33》
}
};
var searchTerm='item3';
//使用变量访问键时使用方括号
var result=raw[searchTerm].book

控制台日志(结果)通过变量访问对象键时,请使用方括号
[]
。 希望
过滤器
对象。在这种情况下不需要键

const-raw={
项目1:{
名称:“sdfd1”,
书籍:《sdfd11》
},
项目2:{
名称:“sdfd2”,
书:《sdfd22》
},
项目3:{
名称:“sdfd3”,
书:《sdfd33》
}
};
var searchTerm='item3';
//使用变量访问键时使用方括号
var result=raw[searchTerm].book

控制台日志(结果)您只需返回如下值:

var result = raw.item3.book;

console.log(result);

结果应该是sdfd33

您只需返回如下值:

var result = raw.item3.book;

console.log(result);

结果应该是sdfd33

key
只是一个字符串,返回
raw[key]。book
raw[searchTerm]。book
就是您需要的。book
key
只是一个字符串,返回
raw[key]。book
就是您需要的。