在数组内部迭代数组

Iterating an array inside an array

本文关键字:数组 迭代 内部      更新时间:2023-09-26

我有一个数据结构,我有一个数组里面的数组,我需要迭代和比较。我需要比较我的datasets数组和patientList数组是否都有相同的id's

My DS:

$scope.data = [
    {
        "_id" : ObjectId("55f6e6d39a31fb5419c7b587"),
        "datasets" : [
                ObjectId("55f6c34e9e3cdc00273b57a3"),
                ObjectId("55f6c3569e3cdc00273b57a4"),
                ObjectId("55f6c3639e3cdc00273b57a5"),
                ObjectId("55f6c36e9e3cdc00273b57a6"),
                ObjectId("55f6c3789e3cdc00273b57a7")
        ],
        "__v" : 0
    },
    {
        "_id" : ObjectId("55f6e6d39a31fb5419c7b587"),
        "datasets" : [
                ObjectId("55f6c34e9e3cdc00273b57a3"),
                ObjectId("55f6c3569e3cdc00273b57a4"),
        ],
        "__v" : 0
    }
];
代码:

if ($scope.data.length > 0) {
    for (var i = 0; i < $scope.data.length; i++) {
        for (var j = i; j < $scope.data[i].datasets; j++) {
            if ($scope.data[i].datasets[j] == $scope.patientList[i]._id) {
                $scope.data[i].datasets[j].push($scope.patientList[i]);
            }
        }
    }
}

$scope.patientList是一个包含_idpatientname的对象数组。上面的代码不能工作

j < $scope.data[i].datasets

限制不应该是一个数值,而不是一个容器吗?

我猜你也希望它是j < $scope.date[i].datasets.length

我想,如果你把$scope.data[i].datasets.length.