亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

腳本 / 設置從 0 開始的增量索引

腳本 / 設置從 0 開始的增量索引

牧羊人nacy 2022-09-29 15:40:32
我有一個問題,設置總是唯一的索引,遞增一個。我有一個這樣的數組。const parentArr = [  {    name: 'first parent array',    childArray: [      {        name: '1 / first child'      },      {        name: '1 / second child'      }    ]  },    {    name: 'second parent array',    childArray: [      {        name: '2 / first child array'      },      {        name: '2 / second child array'      }    ]  }]我期待這樣的結果:const expectedResult = [  {    name: 'first parrent array',    additionalInfo: [      {        index: 0,        name: '1 - first child'      },      {        index: 1,        name: '1 - second child'      }    ]  },   {    name: 'second parrent array',    additionalInfo: [      {        index: 2,        name: '2 -first child array'      },      {        index: 3,        name: '2- second child array'      }    ]  }]我想在附加信息中為0中的每個項目設置索引。我試過這樣,但我得到了錯誤的索引號  return parentArr.map((parent) => {    return {      name: parent.name,      additionalData: parent.childArray.map((child, index) => ({        name: child.name        index: index   // I'M STUCK ON THIS LINE      })),    };  });
查看完整描述

2 回答

?
當年話下

TA貢獻1890條經驗 獲得超9個贊

您必須獨立于循環管理子級的索引。那這個呢?


let i = 0;


return parentArr.map((parent) => {

  return {

    name: parent.name,

    additionalData: parent.childArray.map((child) => ({

      name: child.name

      index: i++

    })),

  };

});


查看完整回答
反對 回復 2022-09-29
?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

索引計數應位于地圖外部,因為這將在每次迭代時重置它。


您可以將此行為抽象為可重用的方法,如下所示。


const parentArr = [

  {

    name: 'first parent array',

    childArray: [

      {

        name: '1 / first child'

      },

      {

        name: '1 / second child'

      }

    ]

  },

    {

    name: 'second parent array',

    childArray: [

      {

        name: '2 / first child array'

      },

      {

        name: '2 / second child array'

      }

    ]

  }

];



const transformArray = root => {

  let i = 0;

  return root.map(({ name, childArray }) => ({

    name,

    additionalData: childArray.map(({ name }) => ({

      index: i++,

      name

    }))

  }));

};


console.log(transformArray(parentArr));


查看完整回答
反對 回復 2022-09-29
  • 2 回答
  • 0 關注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號