从 Fetch API (JavaScript) 中检索特定的 objects - Re post

Retrieving specific objects from a Fetch API (JavaScript) - Re post

已编辑问题:尝试编写仅显示返回图书的标题和描述所需的代码。

我尝试了以下操作,但收到“无法读取未定义的 属性 'title'”的响应。当删除第 5 行时,'description'(第 6 行)也会发生同样的情况。

    require('isomorphic-fetch');
    let items = []; 
    fetch("https://www.googleapis.com/books/v1/volumes?q=isbn:0747532699")
    .then(res => res.json())
    .then((result) => {
        items = result.items;
        console.log(items.volumeInfo.title) 
        console.log(items.volumeInfo.description)
    }),
    (error) => {
        console.log(error);
    }

我做错了什么,我该如何解决?

items 是一个数组。您需要像这样访问它:

result.items[0].volumeInfo.title

更具体地说,您可以循环结果

for (let i = 0 in items) {
  result.items[i].volumeInfo.title; //do something here
}

这里的问题是 result.items 实际上是一个数组而不是一个对象。因此我们不能简单地在数组上调用 volumeInfo 属性 。如果你想要第一个数组值,那么你可以简单地做:

const items = result.items;
if(items && items.length){
   console.log(items[0].volumeInfo.title) 
   console.log(items[0].volumeInfo.description)
}

或者,如果您想要所有项目的信息,那么您可以循环遍历它:

const items = result.items;
items.forEach(function(obj,index){
   console.log(obj.volumeInfo.title) 
   console.log(obj.volumeInfo.description)
});