我有这样的对象列表:
[
{ item1: "1", item2: "2" },
{ item1: "3", item2: "4", item3: "5" },
{ item1: "6" },
{ item1: "7", item2: "8", item3: "9", item4: "10" },
]
我需要能够获得所有可能按键的列表:
["item1", "item2", "item3", "item4" ]
我尝试使用,Object.Keys
但这需要我指定一个特定的对象,问题是,列表是动态创建的,因此键和值对我来说是未知的。
您可以将Array#reduce
method与Object.keys
method一起使用。
var data = [{
item1: "1",
item2: "2"
}, {
item1: "3",
item2: "4",
item3: "5"
}, {
item1: "6"
}, {
item1: "7",
item2: "8",
item3: "9",
item4: "10"
}, ];
var res = data.reduce(function(arr, o) {
return Object.keys(o).reduce(function(a, k) {
if (a.indexOf(k) == -1) a.push(k);
return a;
}, arr)
}, []);
console.log(res);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句