【发布时间】:2015-09-14 16:11:16
【问题描述】:
我有一个数据结构,其中我在一个数组中有一个数组,我需要对其进行迭代和比较。 我需要比较我的datasets 数组和patientList 数组是否都具有相同的id's
我的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 是具有_id 和patientname 的对象数组。上面的代码不起作用。
【问题讨论】:
-
您在迭代数组时正在修改数组,使用数组的长度作为上限。你确定要这样做吗?
-
@DavidL:我知道我可以保留一个新数组,但是当我尝试迭代时上面的代码不起作用......不确定哪里出错了。谢谢:)
-
你认为它目前没有做什么?
-
我想将 datasets 数组与另一个数组进行比较...看看它们是否具有相同的 id。
-
我仍然非常困惑。如果他们确实有相同的 ID,你想做什么?你想抓取重复项吗?是否要删除不匹配项?要将匹配项移动到新数组吗?很难理解你在这里真正想做什么。
标签: javascript arrays angularjs