2017-10-19 111 views
-1

從對象數組中獲取對象鍵的最簡單方法是什麼?例如,(javascript)從具有動態屬性的對象數組中獲取對象鍵

var obj = [{"foo": 1, "bar": 2}, {"foo": 10, "bar": 20, "baz": 30}] 
+0

你想幹什麼?合併的鍵或所有鍵的數組? – nilobarp

+2

這顯示**零**研究努力,並且您正在尋找'Object.keys(obj)'。 –

+0

var obj = [{「foo」:1,「bar」:2},{「foo」:10,「bar」:20,「baz」:30}]; (){ var KeysArr = []; obj.forEach(函數(項目){ VAR鍵= Object.keys(項目); keys.forEach(功能(鍵){ 如果(KeysArr.indexOf(鍵)== - 1){ KeysArr .push(key); }; }); }); return KeysArr; }; console.log(checkKeys()); –

回答

0

可以映射一切的單一陣列減少:

obj.reduce((acc, curr) => acc.concact(Object.keys(curr)), []) 

這給了你:

['foo', 'bar', 'foo', 'bar', 'baz'] 
+0

謝謝! ((acc,curr)=> acc.concat(Object.keys(curr)),[])。filter((item,index,inputArray)=> inputArray。)刪除重複項,我做了: data.reduce indexOf(item)== index)' – bobharley

+0

@HarleyDelaCruz你也可以使用'[... new Set(data)]'其中'data'是你數組的名字。 –

相關問題