我的问题是关于以下功能:
function loadConfigurations(configs){
console.log(configs);
}
loadConfigurations函数接收的“ configs”对象包含两个属性-两个数组,一个称为“ assigned”,另一个称为“ unssigned”。执行console.log(configs)输出以下内容:
"Object{assigned: Array[5], unassigned: Array[1]}"
现在,我想枚举“分配”数组和“未分配数组”中每个属性的键值对。
configs对象的结构如下:
抱歉,伙计们。这是configs对象的结构:
var configs = {
"config1":
{
"assigned": [
{
"name": "Admin Usersss",
"value": "admin-user"
},
{
"name": "MPR User",
"value": "mpr-user"
},
{
"name": "SAMHSA User",
"value": "samhsa-user"
}
],
"unassigned": [
{
"name": "States User",
"value": "states-user"
},
{
"name": "All States User",
"value": "all-states-user"
},
{
"name": "Substance Abuse User",
"value": "substance-abuse-user"
}
]
},
"config2":
{
"assigned": [
{
"name": "Admin User",
"value": "admin-user"
},
{
"name": "MPR User",
"value": "mpr-user"
},
{
"name": "SAMHSA User",
"value": "samhsa-user"
},
{
"name": "States User",
"value": "states-user"
},
{
"name": "All States User",
"value": "all-states-user"
}
],
"unassigned": [
{
"name": "Substance Abuse User",
"value": "substance-abuse-user"
}
]
},
"config3":
{
"assigned": [
{
"name": "Admin User",
"value": "admin-user"
}
],
"unassigned": [
{
"name": "States User",
"value": "states-user"
},
{
"name": "All States User",
"value": "all-states-user"
},
{
"name": "Substance Abuse User",
"value": "substance-abuse-user"
},
{
"name": "MPR User",
"value": "mpr-user"
},
{
"name": "SAMHSA User",
"value": "samhsa-user"
}
]
}
我该怎么做呢?
谢谢,CM
给定您发布的数据结构,您可以使用Object.keys()
它枚举父对象的键,然后在其中的assigned
和unassigned
属性上循环。试试这个:
Object.keys(configs).forEach(function(key) {
var config = configs[key];
config.assigned.forEach(function(assigned) {
console.log('A: ' + assigned.name + ', ' + assigned.value);
});
config.unassigned.forEach(function(assigned) {
console.log('U: ' + assigned.name + ', ' + assigned.value);
});
})
var configs = {
"config1": {
"assigned": [{
"name": "Admin Usersss",
"value": "admin-user"
}, {
"name": "MPR User",
"value": "mpr-user"
}, {
"name": "SAMHSA User",
"value": "samhsa-user"
}],
"unassigned": [{
"name": "States User",
"value": "states-user"
}, {
"name": "All States User",
"value": "all-states-user"
}, {
"name": "Substance Abuse User",
"value": "substance-abuse-user"
}]
},
"config2": {
"assigned": [{
"name": "Admin User",
"value": "admin-user"
}, {
"name": "MPR User",
"value": "mpr-user"
}, {
"name": "SAMHSA User",
"value": "samhsa-user"
}, {
"name": "States User",
"value": "states-user"
}, {
"name": "All States User",
"value": "all-states-user"
}],
"unassigned": [{
"name": "Substance Abuse User",
"value": "substance-abuse-user"
}]
},
"config3": {
"assigned": [{
"name": "Admin User",
"value": "admin-user"
}],
"unassigned": [{
"name": "States User",
"value": "states-user"
}, {
"name": "All States User",
"value": "all-states-user"
}, {
"name": "Substance Abuse User",
"value": "substance-abuse-user"
}, {
"name": "MPR User",
"value": "mpr-user"
}, {
"name": "SAMHSA User",
"value": "samhsa-user"
}]
}
}
Object.keys(configs).forEach(function(key) {
var config = configs[key];
config.assigned.forEach(function(assigned) {
console.log(key + ' A: ' + assigned.name + ', ' + assigned.value);
});
config.unassigned.forEach(function(assigned) {
console.log(key + ' U: ' + assigned.name + ', ' + assigned.value);
});
})
还要注意的是(在评论尖的由@adeneo了你的问题),如果您正在执行两个相同的逻辑assigned
和unassigned
项目,那么你可以再在一起,将它们串联和迭代他们。
如果属性之间的逻辑不同,则需要上述方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句