我有以下物件陣列:
var all = [
{f1: "v1", f2: "v2"},
{f1: "v1", f2: "v2", f3: "v3"},
{f1: "v1", f2: "v2", f3: "v3", f4: "v4"},
{f1: "v1", f2: "v2", f3: "v3", f4: "v4", fn: "vn"}
];
期望輸出:
[f1, f2, f3, f4, f5, ...., fn];
目前使用:
all.reduce((sum, item) => ([...new Set([...sum, ...Object.keys(item)])]), []);
作業示例:codepen
使用 es6 或任何新的 js 功能的任何建議,以獲得更好的性能。
uj5u.com熱心網友回復:
您可以將它們壓平成一個物件,然后拿走鑰匙。
var all = [
{f1: "v1", f2: "v2"},
{f1: "v1", f2: "v2", f3: "v3"},
{f1: "v1", f2: "v2", f3: "v3", f4: "v4"},
{f1: "v1", f2: "v2", f3: "v3", f4: "v4", fn: "vn"}
];
const output = Object.keys(Object.assign({}, ...all));
console.log(output);
uj5u.com熱心網友回復:
var all = [
{f1: "v1", f2: "v2"},
{f1: "v1", f2: "v2", f3: "v3"},
{f1: "v1", f2: "v2", f3: "v3", f4: "v4"},
{f1: "v1", f2: "v2", f3: "v3", f4: "v4", fn: "vn"}
];
console.log(Object.keys(all[all.length-1]))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/315775.html
標籤:javascript 数组 目的 ecmascript-6
上一篇:從方法物件獲取窄型別
