我有这个json数组:
//val
0: {name: "jeg", class: "klase-jeg", id: "id-jeg"} 1: {age: 11, id: "jeg-id-11"} 2: {mail: "jeg mail", class: "jeg-klas-mail"}
我想获取每个json的第一个键:
(name,age,mail)
这是我的功能:
$.map(val, Object.keys) //Result: ["name", "class", "id", "age", "id", "mail", "class"]
但是结果就是所有键。
要从json获取第一个密钥,我就使用了这个
obj = val[0]; Object.keys(obj)[0]); //Result: name
,我尝试将其与地图一起使用,但没有成功:(
$.map(val, Object.keys[0]) //failed
我可以使用each或for,但是我想知道是否可以将map与object.key一起使用以获取每个json的第一个键。
谢谢!
答案 0 :(得分:0)
我认为您可以这样做:
假设:
a = [{name: "jeg", class: "klase-jeg", id: "id-jeg"},{age: 11, id: "jeg-id-11"},{mail: "jeg mail", class: "jeg-klas-mail"}]
然后做:
a.map((el)=>{
return Object.keys(el)[0];
});
希望有帮助!
答案 1 :(得分:-1)
您可以像这样使用map
和Object.keys
:
const val = [
{name: "jeg", class: "klase-jeg", id: "id-jeg"},
{age: 11, id: "jeg-id-11"},
{mail: "jeg mail", class: "jeg-klas-mail"}]
const firstKeys = val.map(a => Object.keys(a)[0]);
console.log(firstKeys)
/*
In jquery:
$.map(val, a => Object.keys(a)[0])
*/
$.map(val, Object.keys[0])
将引发错误,因为Object.keys
是function
,而不是数组。
更新:请注意,对象中属性的顺序为not guaranteed in javaScript