为了账号安全,请及时绑定邮箱和手机立即绑定

我如何分解物体

我如何分解物体

喵喔喔 2021-04-09 13:11:47
我有一个功能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函数的数据获得的结果中解构配置文件属性。非常感谢您的协助...
查看完整描述

3 回答

?
慕仙森

TA贡献1827条经验 获得超8个赞

如果需要从结果数组使用第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)


查看完整回答
反对 回复 2021-04-22
?
Cats萌萌

TA贡献1805条经验 获得超9个赞

您可以通过两种方式执行此操作:

  1. 您的方法分为两个步骤:

    const {results} = data;const {profile} = results;
  2. 或一步:

    const {results: {profile}} = data;

为了更好地理解,您应该查看对象销毁的文档。


查看完整回答
反对 回复 2021-04-22
?
慕后森

TA贡献1802条经验 获得超5个赞

这里是一个例子:


const data = {

    results: {

        name: "test1",

        surname: "123"

    },

    profile: {

        name: "test2",

        surname: "321"

    }

};


const { results, profile } = data;


console.log(results);

console.log("====");

console.log(profile);


查看完整回答
反对 回复 2021-04-22
  • 3 回答
  • 0 关注
  • 172 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信