我有以下功能:
const displayUserPhotoAndName = (data) => {
if(!data) return;
// add your code here
clearNotice();
};
数据参数是来自https://randomuser.me/api/的API
作业包含以下说明:
找到 displayUserPhotoAndName 函数并在其中执行以下操作:
第一个 if(!data) 返回后;终止
的语句 函数如果未提供预期的数据参数,则创建一个
对数据参数进行解构并获取
的语句 来自它的结果属性;在下一行中创建第二条语句来解构 刚刚创建的 results 变量,并从中获取第一项 (它是一个数组!请参阅 https://randomuser.me/api/ )。你的解构 数组项应声明为配置文件。这代表了个人资料 从您想要显示的 API 调用中获取的用户数据 在您的应用程序中。
第 3 步 仍在 displayUserPhotoAndName 函数中:
- 在应用中设置 HEADING 元素以显示标题、姓氏、 以及名字(按顺序,用一个空格分隔) API返回的用户个人资料。
- 在您的应用中设置 IMG 以显示用户的大照片 API 返回的配置文件。
我做了什么:
const displayUserPhotoAndName = (data) => {
if(!data) return;
// add your code here
const {results} = data.results;
const [profile] = results;
const {title, First, Last} = results;
const [,,,,,,,,,picture] = results;
const largeImage = picture.large;
userImage.src = largeImage;
headerUserInfo.innerText = title + ' ' + First + ' ' + Last;
clearNotice();
displayExtraUserInfo(profile);
};
我得到的错误:
You have not de-structured the 'results' property from the 'data' parameter passed to 'displayUserPhotoAndName' function
我急需帮助。感谢期待
最佳答案
我不会向您提供完整的答案,而是给您提示:
const { results } = data
const { profile } = results
console.log(profile)
可以写成:
const { results: { profile } } = data
console.log(profile)
以下是我的一些帖子,您可以从中进一步了解:
destructure an objects properties
关于javascript - 如何解构这个深层嵌套对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55145686/