以角度添加和删除数组之间的项目
这个问题在这里已经有了答案:
您可以将索引作为angular.forEach的第二个参数。 然后我们拼接以从原始数组中删除该项目。 检查下面的代码。
angular.forEach($scope.results, function (item, index) {
if (item.selected) {
$scope.list.push(item);
$scope.results.splice(index, 1);
};
});
我只是意识到,在angular.forEach循环中使用拼接有一个缺点,那就是它在删除项目之后会重新对阵列进行索引。 所以如果一个物品被移除,紧接着的下一个物品将被跳过。
所以下面将是正确的解决方案。
var len = $scope.results.length;
while (len--) {
var item = $scope.results[len];
if (item.selected) {
$scope.list.push(item);
$scope.results.splice(len, 1);
};
}
谢谢。
链接地址: http://www.djcxy.com/p/19021.html