如何从Javascript中的对象数组中提取特定值?
嗨,这里我有一个数组如何从Javascript中的对象数组中提取特定值?,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,嗨,这里我有一个数组 const JSON_PAGES = ['my-needs','a-bit-about-me','my-home','my-income'] 还有像这样的物体 const columnsFromBackend = { "my-needs": { name: "my-needs", items: [{ name: "Dhanush", age: 24 }] }, "a-bit-about-me": { name: "a-bit-ab
const JSON_PAGES = ['my-needs','a-bit-about-me','my-home','my-income']
还有像这样的物体
const columnsFromBackend = {
"my-needs": {
name: "my-needs",
items: [{ name: "Dhanush", age: 24 }]
},
"a-bit-about-me": {
name: "a-bit-about-me",
items: [{ name: "Dharma", age: 24 }]
},
"my-home": {
name: "my-home",
items: [{ name: "Sachin", age: 24 }]
},
"my-income": {
name: "my-income",
items: [{ name: "Kumar", age: 24 }]
}
};
在上述数组中,即JSON_页面,其值作为键显示在上述对象中,即columnsFromBackend
我需要使用JSON\u页面数组值从对象中提取项值。像这样
结果:
let myneeds = [{ name: "Dhanush", age: 24 }];
let abitaboutme = [{ name: "Dharma", age: 24 }]
let myhome = [{ name: "Sachin", age: 24 }]
let myincome = [{ name: "Kumar", age: 24 }]
为了进行引用,我在变量中添加了提取的值。是否有任何方法可以将数组与对象进行比较并获得所需的值。请帮帮我
提前感谢
let values=JSON\u PAGES.map((页面)=>columnsfrombend[page].items)
让[我的需要,我的家庭,我的收入]=价值观代码>
let values=JSON\u PAGES.map((页面)=>columnsfrombend[page].items)
让[我的需要,我的家庭,我的收入]=价值观代码>如果要将结果放入数组,
您可以使用Object.values(columnsfrombend)
获取要查找的值,然后使用filter()
项,最后对结果使用map()
返回一个包含所需输出的数组
const JSON_PAGES=['my-needs','a-bit-about-me','my-home','my-income']
const columnsfrombend={
“我的需要”:{
姓名:“我的需要”,
项目:[{姓名:“Dhanush”,年龄:24}]
},
“关于我的一点”:{
姓名:“关于我的一点”,
项目:[{姓名:“达摩”,年龄:24}]
},
“我的家”:{
姓名:“我家”,
项目:[{姓名:“萨钦”,年龄:24}]
},
“我的收入”:{
姓名:“我的收入”,
项目:[{姓名:“库马尔”,年龄:24}]
}
};
const res=Object.values(columnsfrombend).filter(item=>JSON_PAGES.includes(item.name)).map(({items})=>items);
console.log(res)
如果要将结果放入数组,
您可以使用Object.values(columnsfrombend)
获取要查找的值,然后使用filter()
项,最后对结果使用map()
返回一个包含所需输出的数组
const JSON_PAGES=['my-needs','a-bit-about-me','my-home','my-income']
const columnsfrombend={
“我的需要”:{
姓名:“我的需要”,
项目:[{姓名:“Dhanush”,年龄:24}]
},
“关于我的一点”:{
姓名:“关于我的一点”,
项目:[{姓名:“达摩”,年龄:24}]
},
“我的家”:{
姓名:“我家”,
项目:[{姓名:“萨钦”,年龄:24}]
},
“我的收入”:{
姓名:“我的收入”,
项目:[{姓名:“库马尔”,年龄:24}]
}
};
const res=Object.values(columnsfrombend).filter(item=>JSON_PAGES.includes(item.name)).map(({items})=>items);
console.log(res)
您需要单独变量中的结果吗?仅提取值也可以变量名无效。变量不能包含-
字符。谢谢。我已经编辑了。为什么需要将值提取到变量中?您不能直接使用后端的列吗?例如,columnsFromBackend[“我的需要”]。项
。需要在单独的变量中使用结果吗?仅提取值也可以。变量名无效。变量不能包含-
字符。谢谢。我已经编辑了。为什么需要将值提取到变量中?您不能直接使用后端的列吗?例如,columnsfrombend[“我的需要”]。项目
。