Javascript 如何使用$.map with Object.keys函数从为Object.keys指定的数组中获取第一个值?

Javascript 如何使用$.map with Object.keys函数从为Object.keys指定的数组中获取第一个值?,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我有一个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

我有一个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 with object.key来获取每个json的第一个键

谢谢

您可以像这样使用map和Object.key:

常数val=[ {name:jeg,class:klase-jeg,id:id-jeg}, {年龄:11,id:jeg-id-11}, {mail:jeg-mail,class:jeg-klas-mail}] const firstKeys=val.mapa=>Object.keysa[0]; console.logfirstKeys /* 在jquery中: $.mapval,a=>Object.keysa[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];
    });

希望有帮助

每个对象的第一个键因浏览器而异-对象键是无序的-这会改变您的要求吗?可能的重复您最好只访问您想要的属性,而不是在第一个键可能不是您想要的键时尝试获取第一个键。它不符合顺序,因为我只是想要获得每个json的第一个键,无论是什么顺序,我在一小时前添加了相同的答案,但被删除了,因为不确定属性的顺序。因为objectit中不保证顺序,所以它不满足顺序,因为我只想得到每个json的第一个键,不管是什么order@CodeManiac我假设OP想要任何由Object决定的第一个密钥。密钥现在已确认。你说得对,我应该在回答中提到这一点,现在我陷入了-1:@adiga我是新来的,你能告诉我是谁做的吗-1是你的答案,这意味着什么。允许在评论中问这个问题吗?