javascript - javascript 中的多对多映射对象

标签 javascript arrays angularjs multidimensional-array

我有两组数组:

$scope.selectedEmployees = ["1001", "1002"];
$scope.selectedTasks = ["Task1", "Task2"];

我想通过像多对多关系一样组合员工和任务来生成对象数组。$scope.selectedEmployees 和 $scope.selectedTasks 的长度可能会有所不同:

newArray=[
    {
        "empId": 1001,
        "task": "Task1"
    },
    {
        "empId": 1001,
        "task": "Task2"
    },
    {
        "empId": 1002,
        "task": "Task2"
    },
    {
        "empId": 1002,
        "task": "Task2"
    }
]

我尝试过的方法:

 var newArray=[];
         for (var i = 0; i <$scope.selectedEmployees.length; i++) {
           for (var j = 0; j <$scope.selectedTasks .length; j++) {
    newArray.push({"empId":$scope.selectedEmployees[i],
                  "task":$scope.selectedIntervention[j]
                 })
                   }
                }

但我无法获得所需的格式。任何帮助将不胜感激。

最佳答案

http://jsfiddle.net/zuv8y9wk/

还使用了 selectedIntervention 来代替 selectedTasks

var $scope = {};
$scope.selectedEmployees = ["1001", "1002"];
$scope.selectedTasks = ["Task1", "Task2"];
var newArray = [];
for (var i = 0; i < $scope.selectedEmployees.length; i++) {
    for (var j = 0; j < $scope.selectedTasks.length; j++) {
        newArray.push({
            "empId": $scope.selectedEmployees[i],
            "task": $scope.selectedTasks[j]
        })
    }
}
console.log(newArray)

关于javascript - javascript 中的多对多映射对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30349444/

相关文章:

angularjs - AngularFire - 删除单个项目

javascript - AngularJS - 如何添加多个 ng-class 指令?

javascript - 解析元素标题中的html元素

javascript - NodeJs,connection.query 中的 if 语句

javascript - CSS 不适用于 Javascript 函数

c - 访问结构数组中的值

ruby - Ruby 中的数组或哈希

javascript - 帮助将数组循环到现有 div 中

javascript - 设置轮播自动滑动

javascript - 图表的预测时间建模