Mag*_*äru 6 javascript arrays object
这是原始问题:获取JavaScript对象键列表
但如果情况稍微复杂一点,如:
var obj = [
{ key1: 'value1' },
{ key2: 'value2' },
{ key3: 'value3' },
{ key4: 'value4' }
]
Run Code Online (Sandbox Code Playgroud)
那你怎么得到这样的钥匙?
[key1,key2,key3,key4]
Run Code Online (Sandbox Code Playgroud)
kin*_*ser 15
你可以使用Object.keys和的混合Array#map.
let obj = [
{ key1: 'value1' },
{ key2: 'value2' },
{ key3: 'value3' },
{ key4: 'value4' },
];
let keys = [].concat(...obj.map(Object.keys));
console.log(keys);Run Code Online (Sandbox Code Playgroud)
您可以在obj中获取每个对象的键,然后使用concat()它将其添加到结果数组中.
var obj = [
{
key1: 'value1'
},
{
key2: 'value2'
},
{
key3: 'value3'
},
{
key4: 'value4'
}
]
var keyList = [];
obj.forEach(function(o){
keyList = keyList.concat(Object.keys(o));
});
console.log(keyList);Run Code Online (Sandbox Code Playgroud)
你可以使用Array#reduce方法实现它.
var obj = [{
key1: 'value1'
}, {
key2: 'value2'
}, {
key3: 'value3'
}, {
key4: 'value4'
}];
var res = obj
// iterate over the array
.reduce(function(arr, o) {
// get keys and push into the array
[].push.apply(arr, Object.keys(o));
// return the araray reference
return arr;
// set initial value as an empty array
}, []);
console.log(res);
// ES6 alternative
var res1 = obj.reduce((arr, o) => (arr.push(...Object.keys(o)), arr), []);
console.log(res1);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
635 次 |
| 最近记录: |