猿问

我如何分解物体

我有一个功能


const displayUserPhotoAndName = (data) => {

  if (!data) return;


  // add your code here


  clearNotice();


};

在第一个if(!data)返回之后;如果未提供预期的数据参数,则终止该函数的语句,创建一个对数据参数进行解构并从中获取结果属性的语句;


在下一行中创建第二条语句,以对刚刚创建的结果变量进行解构,并从中获取第一项(它是一个数组!请参阅https://randomuser.me/api/)。您解构后的数组项应声明为配置文件。这表示从您要显示在应用程序中的API调用中获得的用户的个人资料数据。


const displayUserPhotoAndName = (data) => {

    if(!data) return;    


    // add your code here

    const {results: results} = data;

    const {profile: results} = results;

这是我现在所在的位置,但是我仍然收到一条错误消息,内容为“您尚未从传递给displayUserPhotoAndName函数的数据获得的结果中解构配置文件属性。非常感谢您的协助...


喵喔喔
浏览 173回答 3
3回答

慕仙森

如果需要从结果数组使用第n个元素,则可以执行以下操作{ results: { n: profile } } = data;let data = { results: [1, 2, 3, 4] }let { results: { 0: profile1, 2: profile2 } } = data;console.log(profile1)console.log(profile2)即使你可以做进一步的破坏let data = { results: [{ name: 'myname1', gender: 'male' }, { name: 'myname2', gender: 'male' }, { name: 'myname3', gender: 'female' }, { name: 'myname4', gender: 'male' }] }let { results: { 0: profile1, 2: { name, gender } } } = data;console.log(profile1)console.log(name)console.log(gender)

Cats萌萌

您可以通过两种方式执行此操作:您的方法分为两个步骤:const {results} = data;const {profile} = results;或一步:const {results: {profile}} = data;为了更好地理解,您应该查看对象销毁的文档。

慕后森

这里是一个例子:const data = {    results: {        name: "test1",        surname: "123"    },    profile: {        name: "test2",        surname: "321"    }};const { results, profile } = data;console.log(results);console.log("====");console.log(profile);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答