我在数组中有一个带有键值对的对象:
error : [ { firstName : true },
{ lastName : false },
{ email : true }
]
我想从对象中获取密钥。
我尝试过,但这将在输出中显示未定义
let result = error.map((row, index) => {
console.log("key" + row[0] + " index " + index);
}
答案 0 :(得分:1)
使用Object.keys
:
const obj = {
error : [ { firstName : true },
{ lastName : false },
{ email : true }
]
}
const keys = obj.error.flatMap(Object.keys);
console.log(keys);
对于较旧的浏览器,您可能需要它:
const obj = {
error : [ { firstName : true },
{ lastName : false },
{ email : true }
]
}
const keys = obj.error.map(Object.keys).reduce((acc, curr) => acc.concat(curr));
console.log(keys);
答案 1 :(得分:0)
将map()
与Object.keys()
一起使用:
var data = {
error: [{
firstName: true
},
{
lastName: false
},
{
email: true
}
]
};
var keys = data.error.map(e => Object.keys(e)[0]);;
console.log(keys);
或通过传播语法使用forEach()
:
var data = {
error: [{
firstName: true,
address: false
},
{
lastName: false
},
{
email: true
}
]
};
var keys = [];
data.error.forEach(e => keys = [...keys, ...Object.keys(e)]);;
console.log(keys);