JS使用map()获取键名[重复]
Posted
技术标签:
【中文标题】JS使用map()获取键名[重复]【英文标题】:JS get key name using map() [duplicate] 【发布时间】:2021-12-23 16:54:00 【问题描述】:我有以下对象:
"thumbnail":
"height": 150,
"width": 150,
,
"medium":
"height": 165,
"width": 300,
,
"large":
"height": 352,
"width": 640,
我想从对象创建以下数组。
[
"slug": "thumbnail",
"name": "Thumbnail"
,
"slug": "medium",
"name": "Medium"
,
"slug": "large",
"name": "Large"
,
"slug": "full",
"name": "Full"
]
如何获取要添加到数组的对象键名?我尝试了以下方法:
map( imageSizesArray,
( key ) => ( value: key, label: key.toUpperCase() )
);
但它不起作用
【问题讨论】:
在回调中使用Object.keys(obj)[0]
获取key即可。
value
是从哪里来的。不应该是slug
吗?
@VLAZ 在您的封闭链接中,OP 以数组开头,此处 OP 以对象开头,CyberJ 直接使用Object.keys
reference
@SimoneRossaini 有三个链接。对于如何获取对象的键,每个人都至少有一个答案。
@SimoneRossaini 删除了第一个用于数组的链接,并添加了另外两个用于提取密钥的链接。总的来说,我觉得这个主题已经被充分覆盖,但可以随意提出更多重复。总共有五个插槽。
【参考方案1】:
const obj =
"thumbnail":
"height": 150,
"width": 150,
,
"medium":
"height": 165,
"width": 300,
,
"large":
"height": 352,
"width": 640,
const retrnArr = Object.keys(obj).map(e =>
return 'value': e , 'label' : e.toUpperCase()
);
console.log(retrnArr)
【讨论】:
以上是关于JS使用map()获取键名[重复]的主要内容,如果未能解决你的问题,请参考以下文章