通过在 javascript / 节点 js 中匹配数组 n 对象来创建自定义数组
creating custom array by matching array n object in javascript / node js
let obj ={
97:{
data:"OS",
location:"system",
access:"globally",
parameters:"aed31"
},
490:{
data:"Ae-ds",
location:"rootpath",
access:"admin rights",
parameters:"4fsje"
},
278:{
data:"config",
location:"system",
access:"private",
parameters:"aed31"
},
6230:{
data:"secure-data",
location:"system-private",
access:"config-data",
parameters:"aed31"
},
4023:{
data:"linux",
location:"system",
access:"globally",
parameters:"rf241"
},
870:{
data:"deh-we",
location:"adminpath",
access:"admin rights",
parameters:"4fsje"
},
}
let data=[
{ name:"OS"
},
{ name:"Ae-ds"
},
{ name:"config"
},
{ name:"secure-data"
}
];
data.map((value)=>{
console.log(value.name)
})
我正在尝试查找数据数组中存在的名称并将其与 obj.data 字段匹配,并希望像这样存储密钥
let dataDetail= [{id:97, config_type:"system Data"}];
类似名称 OS 或 As-ds 或我从 data.map 获得的任何名称() 我想检查它是否在对象内部可用,并获取它的键并将其推送到 id 中的 dataDetail 数组中 config_type 是常量我不想更改该值只有 id 字段被更改这里
let data=[
{ name:"OS"
},
{ name:"Ae-ds"
},
{ name:"config"
},
{ name:"secure-data"
}
];
let jsonData={
97:{
data:"OS",
location:"system",
access:"globally",
parameters:"aed31"
},
490:{
data:"Ae-ds",
location:"rootpath",
access:"admin rights",
parameters:"4fsje"
},
278:{
data:"config",
location:"system",
access:"private",
parameters:"aed31"
},
6230:{
data:"secure-data",
location:"system-private",
access:"config-data",
parameters:"aed31"
},
4023:{
data:"linux",
location:"system",
access:"globally",
parameters:"rf241"
},
870:{
data:"deh-we",
location:"adminpath",
access:"admin rights",
parameters:"4fsje"
},
}
let details;
data.map((value)=>{
Object.values(jsonData).map((dataName)=>{
if(dataName.data===value.name){
dataDetail=[{id:Object.keys(jsonData), config_type:"system Data"}];
console.log("checking",dataDetail);
}
});
});
但它在这里不起作用,我不知道这里缺少什么
因为我的预期输出就像 If I console dataDetail;
[{id:97, config_type:"system Data"}]
[{id:490, config_type:"system Data"}]
[{id:278, config_type:"system Data"}]
[{id:6230, config_type:"system Data"}]
可以通过 forEach
中的 find
轻松管理
let data=[
{ name:"OS"
},
{ name:"Ae-ds"
},
{ name:"config"
},
{ name:"secure-data"
}
];
let jsonData={
97:{
data:"OS",
location:"system",
access:"globally",
parameters:"aed31"
},
490:{
data:"Ae-ds",
location:"rootpath",
access:"admin rights",
parameters:"4fsje"
},
278:{
data:"config",
location:"system",
access:"private",
parameters:"aed31"
},
6230:{
data:"secure-data",
location:"system-private",
access:"config-data",
parameters:"aed31"
},
}
let dataDetails = [];
Object.keys(jsonData).forEach((key) => {
if(data.find((el) => el.name === jsonData[key].data)){
dataDetails.push([{id:key, config_type:"system Data"}])
console.log([{id:key, config_type:"system Data"}])
}
})
console.log(dataDetails)
let obj ={
97:{
data:"OS",
location:"system",
access:"globally",
parameters:"aed31"
},
490:{
data:"Ae-ds",
location:"rootpath",
access:"admin rights",
parameters:"4fsje"
},
278:{
data:"config",
location:"system",
access:"private",
parameters:"aed31"
},
6230:{
data:"secure-data",
location:"system-private",
access:"config-data",
parameters:"aed31"
},
4023:{
data:"linux",
location:"system",
access:"globally",
parameters:"rf241"
},
870:{
data:"deh-we",
location:"adminpath",
access:"admin rights",
parameters:"4fsje"
},
}
let data=[
{ name:"OS"
},
{ name:"Ae-ds"
},
{ name:"config"
},
{ name:"secure-data"
}
];
data.map((value)=>{
console.log(value.name)
})
我正在尝试查找数据数组中存在的名称并将其与 obj.data 字段匹配,并希望像这样存储密钥
let dataDetail= [{id:97, config_type:"system Data"}];
类似名称 OS 或 As-ds 或我从 data.map 获得的任何名称() 我想检查它是否在对象内部可用,并获取它的键并将其推送到 id 中的 dataDetail 数组中 config_type 是常量我不想更改该值只有 id 字段被更改这里
let data=[
{ name:"OS"
},
{ name:"Ae-ds"
},
{ name:"config"
},
{ name:"secure-data"
}
];
let jsonData={
97:{
data:"OS",
location:"system",
access:"globally",
parameters:"aed31"
},
490:{
data:"Ae-ds",
location:"rootpath",
access:"admin rights",
parameters:"4fsje"
},
278:{
data:"config",
location:"system",
access:"private",
parameters:"aed31"
},
6230:{
data:"secure-data",
location:"system-private",
access:"config-data",
parameters:"aed31"
},
4023:{
data:"linux",
location:"system",
access:"globally",
parameters:"rf241"
},
870:{
data:"deh-we",
location:"adminpath",
access:"admin rights",
parameters:"4fsje"
},
}
let details;
data.map((value)=>{
Object.values(jsonData).map((dataName)=>{
if(dataName.data===value.name){
dataDetail=[{id:Object.keys(jsonData), config_type:"system Data"}];
console.log("checking",dataDetail);
}
});
});
但它在这里不起作用,我不知道这里缺少什么 因为我的预期输出就像 If I console dataDetail;
[{id:97, config_type:"system Data"}]
[{id:490, config_type:"system Data"}]
[{id:278, config_type:"system Data"}]
[{id:6230, config_type:"system Data"}]
可以通过 forEach
find
轻松管理
let data=[
{ name:"OS"
},
{ name:"Ae-ds"
},
{ name:"config"
},
{ name:"secure-data"
}
];
let jsonData={
97:{
data:"OS",
location:"system",
access:"globally",
parameters:"aed31"
},
490:{
data:"Ae-ds",
location:"rootpath",
access:"admin rights",
parameters:"4fsje"
},
278:{
data:"config",
location:"system",
access:"private",
parameters:"aed31"
},
6230:{
data:"secure-data",
location:"system-private",
access:"config-data",
parameters:"aed31"
},
}
let dataDetails = [];
Object.keys(jsonData).forEach((key) => {
if(data.find((el) => el.name === jsonData[key].data)){
dataDetails.push([{id:key, config_type:"system Data"}])
console.log([{id:key, config_type:"system Data"}])
}
})
console.log(dataDetails)