[英]Add Item to Array If Not In the Array
每次我單擊“添加項目”按鈕時,它都會反復將item
添加到items
數組中。 例如,如果我單擊“添加項目”五次,數組為:
items: [item, item, item, item, item]
如何修改代碼以添加第一item
但不將其他item
添加到數組,如下所示:
items: [item]
我嘗試將var i = -1
替換為var i = 0
但從未將item
添加到items
數組。
這是我的看法:
<body ng-controller="MainCtrl">
<button ng-click="addItem()">Add {{item}}</button>
<p>items: {{items | json}}</p>
</body>
...和控制器:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.item = 'item';
$scope.items = [];
$scope.addItem = function () {
for (var i = -1; i < $scope.items.length; i++) {
if ($scope.items[i] != $scope.item) {
$scope.items.push($scope.item);
}
}
};
});
這是我的Plunker: http ://plnkr.co/edit/OT900pXEcxGgkpJZna2x?p=preview
在addItem()
,使用indexOf
添加一個簡單的驗證來檢查項目是否在數組中:
$scope.addItem = function () {
if ($scope.items.indexOf($scope.item) != -1){
// The item is already in the array, abort!
return;
}
$scope.items.push($scope.item);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.