私は2つの配列を持っています。 searchWordsの単語をクリックすると、currentWordlistに単語を追加したり削除したりすることができます。2つの配列と重複しない連結を比較します
私が持っておきたいのは、実際にはcurrentWordlistにある単語を上書きすることなく、すべてのsearchWordsをcurrentWordlistに転送するボタンです。
私はこのコードを思い付いた:
$scope.addAll = function() {
var searchWords = [];
var currentWords = [];
// safes all searchwords to the array
for (var i = 0; i < $scope.searchWords.length; i++) {
searchWords.push($scope.searchWords[i]);
}
// safes all currentwords to the array
for (var j = 0; j < $scope.currentWordlist.length; j++) {
currentWords.push($scope.currentWordlist[j]);
}
console.log("searchWords " + searchWords.length);
console.log("currentWords " + currentWords.length);
angular.forEach(searchWords, function(value1, key1) {
angular.forEach(currentWords, function(value2, key2) {
if (value1._id !== value2._id) {
$scope.currentWordlist.push(value1);
}
});
});
};
私は重複があるかどうかを確認するために私の2 angular.forEach
内の配列を使用することができるように、私は配列の両方を通過し、安全にそれら。私がcurrentWordlistにプッシュしなければ。しかし、それは動作していません。 [ngRepeat:dupes]
エラーが表示されますが、リストから削除すると間違った単語が削除されるため、$ indexでトラックを使用することはできません。私はここで何か批判的に何かしていると思いますが、これまでのところ(試行錯誤の時間は0)
のindexOf – MMK