javascript - 数组对象数组问题
问题描述
我希望在 admin 下应该有 test#1 和 test#4,在 manager 下应该有 test#2,在 head 下应该有 test#3。我试过但不能按要求做
链接:https ://jsbin.com/cecafeqobo/edit?js ,下面的控制台是我的代码:
var mapData = [];
var userList =[{id:2,name:'Admin', users:[{id:2, name:'Test#1'},{id:3,name:'test#4'}]},{id:2,name:'Manager', users:[{id:2, name:'test#2'}]},{id:2,name:'Head', users:[{id:2, name:'test#3'}]}];
userList.forEach(function(element) {
console.log(element.name)
element.users.forEach(function (element) {
mapData.push(element);
})
})
mapData.forEach((element) => {
console.log(element.name);
});
解决方案
您是否尝试过使用一些 if/else?例如
admin_users = [];
manager_users = [];
userList.forEach(function (root_element) {
element.users.forEach(function (element) {
switch (root_element.name) {
case 'Admin':
admin_users.push(element);
break;
// Same for other types of users.
}
})
})
然后,您的管理员用户将保存在admin_users
变量中,而您的经理用户将保存在manager_users
变量中。
推荐阅读
- entity-framework - 实体框架 6 ReferentialConstraint 中的依赖属性映射到存储生成的列。错误
- bigdata - 大数据集示例
- javascript - 不使用模板引擎时如何在 Express.js 视图中包含 CSS 文件?
- scala - 如何使用 scala 方法创建文件?
- javascript - JS:函数未定义,无法创建 JSON 对象,因为 JS 无法识别键是字符串
- node.js - NestJS Swagger - 如何声明多选枚举字段?
- virtualbox - Minikube 与 Virtualbox 或 KVM 在 Centos 7 上使用大量 CPU
- javascript - 如何在我的 .js 文件中使用 npm 安装的包?
- python - 模块中的变量范围
- java - 如何强制 Red Hat OpenJDK 8 在 Windows 上像 AdoptOpenJDK 和 Oracle JDK 一样清晰地呈现字体?