我有一系列镜头。我已经能够获取该数组并循环遍历它以获得在#1洞上发生的所有镜头,然后根据“shot_number”按顺序重新排列它们。我现在需要为每个洞执行此操作并为每个孔创建一个数组(例如:holeArray1,holeArray2)。我已经尝试了许多增加x的解决方案,但如果我这样做,我最终会错过某些洞上发生的一些镜头。
如何重构此函数以便为每个洞创建此数组,而无需复制和粘贴代码并自行更改变量x?谢谢您的帮助。我知道我应该能够解决这个问题,但我正在努力。
$scope.createHoleShotsArrays = function () {
var i = 0;
var x = 1;
var holeArray = [];
var len = $scope.shots.length;
for (; i < len; i++) {
if ($scope.shots[i].attributes.hole == x) {
holeArray.push($scope.shots[i]);
holeArray.sort(function (a, b) {
if (a.attributes.shot_number > b.attributes.shot_number) {
return 1;
}
if (a.attributes.shot_number < b.attributes.shot_number) {
return -1;
}
// a must be equal to b
return 0;
});
}
}
console.log(holeArray);
};
答案 0 :(得分:1)
将所需的项目推送到数组中,然后对它们进行一次排序。我没有案例来测试代码。如果出现问题,你可以修改一下。
weak_ptr