Javascript 如何将对象键和值放入JS中的数组中?
我有一个目标Javascript 如何将对象键和值放入JS中的数组中?,javascript,object,Javascript,Object,我有一个目标 var students = { 0: "Ann_L", 1: "Bob_P", 2: "Cat_C" } 如何从对象及其键和值获取数组 var array = [ { "Id": 0, "Value": "Ann_L", "Name": "Ann L" }, { "Id": 1, "Value": "Bob_P", "Name": "Bob P" }, { "Id": 2, "Value": "Cat_C", "Name": "Cat C" } ]
var students = { 0: "Ann_L", 1: "Bob_P", 2: "Cat_C" }
如何从对象及其键和值获取数组
var array = [
{ "Id": 0, "Value": "Ann_L", "Name": "Ann L" },
{ "Id": 1, "Value": "Bob_P", "Name": "Bob P" },
{ "Id": 2, "Value": "Cat_C", "Name": "Cat C" }
]
我有对象的值,但没有“Id”的键
键是entries数组中的第一个元素
var array = Object.entries(students).map(([key, student ]) =>
({
Name: student.replace(/_/g, " "),
Id: key,
Value: student
})
Object.entries返回
[键,值]
因此在您的代码中\uu
是键
您可以使用和
var学生={0:Ann_L',1:Bob_P',2:Cat_C}
让op=Object.entries(students.map)([Id,value])=>{
返回{
身份证件
价值
名称:value.replace(/\ug,“”)
}
})
console.log(op)
您可以将对象分配到数组并映射对象
var学生={0:“安•L”,1:“鲍勃•P”,2:“猫•C”},
数组=对象
.分配([],学生)
.map((Value,Id)=>({Id,Value,Name:Value.replace(/u/g,,))));
console.log(数组)代码>
.as控制台包装{max height:100%!important;top:0;}
另一种解决方案:您可以使用,并使用键遍历学生
对象
const students={0:“Ann_L”,1:“Bob_P”,2:“Cat_C”}
const res=Object.keys(students.map)(元素,索引)=>{
返回{
Id:元素,
价值:学生[索引],
姓名:学生[索引].替换(/g/g,“”),
}
})
console.log(res)
包含您的密钥次要说明:key
将是一个字符串,如果Id
应该是一个数字,您可能需要Id:+key
对象。assign([],students)
很聪明。虽然对象.assign
调用很聪明,但可能有点太聪明了,因为只有当按键为0
、1
、2
等时,它才能正常工作,尽管顺序不同<代码>对象.entries(students).map(…)更清晰、更不脆弱。
var array = Object.entries(students).map(([key, student ]) =>
({
Name: student.replace(/_/g, " "),
Id: key,
Value: student
})