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

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

提取數組的鍵 - 沒有重復項

提取數組的鍵 - 沒有重復項

慕婉清6462132 2021-10-14 16:46:42
我正在嘗試創建一個循環,以輸出數組中的鍵 - 數組中的所有對象都具有相同的鍵,所以我想要該鍵一次。但是我無法弄清楚如何做到這一點,我似乎只能多次精確每個對象的鍵!看起來它遍歷數組中的每個對象。我怎樣才能一次提取數組的鍵!謝謝。我的代碼看起來像:   var obj = array   var newAryk = []   Object.keys(obj).forEach(function (k) {      newAryk.push(k)   });我試圖讓輸出看起來像:['Color', 'qty']我的數組看起來像:    [      {        Color: 'Green',        qty: '3',      },      {        Color: 'Pink',        qty: '3',      },      {        Color: 'Purple',        qty: '3',      }    ]
查看完整描述

1 回答

?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

如果所有對象都具有相同的鍵,則只需在第一個數組元素上使用Object.keys() 即可。


var keys = Object.keys(arr[0]);

如果對象具有不同的鍵,則使用Set()。


var keys = new Set();


arr.forEach(obj => {

  let objKeys = Object.keys(obj);

  objKeys.forEach(key => keys.add(key));

});


// Convert from Set to Array.

keys = Array.from(keys); 

現場示例:


var arr = [{ Color: 'Green', qty: '3', }, { Color: 'Pink', qty: '3', }, { Color: 'Purple', qty: '3', } ];


var keys = new Set();


arr.forEach(obj => {

  let objKeys = Object.keys(obj);

  objKeys.forEach(key => keys.add(key));

});


// Convert from Set to Array.

keys = Array.from(keys);


console.log(keys);


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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