v21*_*103 1 javascript ecmascript-6
在这种情况下,我只需要获取对象数组中的键。对象结构如下所示。我也尝试了一种方法,但是它似乎不起作用。有人可以帮我这个忙。
var arr = [
{ firstName: "aaaaa", status: 0, visits: 155 },
{ firstName: "aabFaa", status: 0, visits: 155 },
{ firstName: "adaAAaaa", status: 10, visits: 1785 },
{ firstName: "aAaaaa", status: 50, visits: 175 },
{ firstName: "aaaaa", status: 670, visits: 155 },
]
console.log([...new Set(arr.map(item => Object.keys(item)))]); // This does not workRun Code Online (Sandbox Code Playgroud)
我希望输出只是 ['firstName','status','visits']
Object.keys本身会返回一个数组,因此您将map创建一个数组数组。使用flatMap来代替:
console.log(Array.from(new Set(arr.flatMap(Object.keys))))
Run Code Online (Sandbox Code Playgroud)
另外,由于数组中的所有对象都具有相同的键,因此可以采用第一个对象的键:
console.log(Object.keys(arr[0]))
Run Code Online (Sandbox Code Playgroud)
(这也很明显,该代码仅适用于非空数组)
| 归档时间: |
|
| 查看次数: |
43 次 |
| 最近记录: |