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

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

嘗試從對象數組中獲取 id 并將這些 id 推入數組

嘗試從對象數組中獲取 id 并將這些 id 推入數組

開心每一天1111 2023-10-14 10:08:39
我正在嘗試使用下面的代碼從對象數組中獲取 idconst opaqueMaterialSecondaryIds = Object.values(library?.layers).reduce((acc, opaque) => {     acc.push(...opaque.map(e => e.id));         return acc;   }, []);并在 is not function 處收到錯誤opaque.map,該對象如下所示我不確定上面的代碼哪里做錯了。任何人都可以對此提出任何想法,非常感謝。
查看完整描述

2 回答

?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

map()是一個數組方法,不存在于對象中。

你的每一項library?.layers都是一個對象,所以opaque.map不是一個函數。

旁注1:library?.layers已經是一個對象,所以你不需要調用Object.values(),而是可以直接使用library?.layers?.reduce()。

旁注 2:如果您的目的是獲取所有對象的 id?opaque,您可以這樣做:

const?opaqueMaterialSecondaryIds?=?library?.layers?.map(opaque?=>?opaque.id);


查看完整回答
反對 回復 2023-10-14
?
慕妹3146593

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

如果你的結構是這樣的:


const layers = [

  {

    # other attributes,

    id: 'id-1',

    # other attributes,

  },

  {

    ...

  },

];

我想你所需要的只是這個:


const layerIds = layers.map((l) => l.id);

console.log(layerIds);

# Output: ['id-1', 'id-2']


查看完整回答
反對 回復 2023-10-14
  • 2 回答
  • 0 關注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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