Javascript 将对象映射到数组

Javascript 将对象映射到数组,javascript,mapping,Javascript,Mapping,给定这样一个对象: { aaa: { text: "Text1", path: "Path1", type: "Type1" }, bbb: { text: "Text2", path: "Path2", type: "Type2" }, ... } 返回此数组的最简单方法是什么: [ {value: "aaa", label: "Text1"}, {value: "bbb", label: "Text2"} ] 我

给定这样一个对象:

{
  aaa: {
    text: "Text1",
    path: "Path1",
    type: "Type1"
  },
  bbb: {
    text: "Text2",
    path: "Path2",
    type: "Type2"
  },
...
}
返回此数组的最简单方法是什么:

[
   {value: "aaa", label: "Text1"},
   {value: "bbb", label: "Text2"}
]
我必须在对象中循环吗?我想可能有一种方法可以使用
Object.keys()
Object.values()
这会有所帮助

const obj={
aaa:{
文本:“文本1”,
路径:“路径1”,
类型:“类型1”
},
bbb:{
文本:“文本2”,
路径:“路径2”,
类型:“类型2”
},
};
const ans=Object.keys(obj.map)(itm=>({value:itm,title:obj[itm].text}))

控制台日志(ans)
您可以使用
Object.entries
将对象转换为数组。使用
map
循环并返回所需对象

让obj={
aaa:{
文本:“文本1”,
路径:“路径1”,
类型:“类型1”
},
bbb:{
文本:“文本2”,
路径:“路径2”,
类型:“类型2”
},
}
让result=Object.entries(obj.map)([k,v])=>({value:k,label:v.text}));

控制台日志(结果)您必须循环遍历这些键值,使用方法获取键值对,使用方法迭代并生成新数组

let data={“aaa”:{“text”:“Text1”,“path”:“Path1”,“type”:“Type1”},“bbb”:{“text”:“Text2”,“path”:“Path2”,“type”:“Type2”};
让res=Object.entries(data.map)([value,{text:title}])=>({value,title}))
console.log(res)
您可以使用循环来迭代对象并在数组中推送值

让obj={
aaa:{
文本:“文本1”,
路径:“路径1”,
类型:“类型1”
},
bbb:{
文本:“文本2”,
路径:“路径2”,
类型:“类型2”
}
}
设modObj=[];
用于(让钥匙进入obj){
推挤({
值:键,
标签:obj[keys]。文本
})
};

console.log(modObj)
因为没有人提到像您在问题中提到的那样同时使用Object.key和Object.value

var obj={
aaa:{
文本:“文本1”,
路径:“路径1”,
类型:“类型1”
},
bbb:{
文本:“文本2”,
路径:“路径2”,
类型:“类型2”
}
};
var result=Object.keys(obj.map)(函数(键,i){
返回{value:key,label:Object.values(obj)[i].text}
});

控制台日志(结果)请展示您迄今为止的尝试,并解释您的尝试出现了什么问题(错误、意外结果等)。提示:此处可以提供帮助