0
我有一個placeCollection
集合,它有一個名爲locFrnd
的數組。 由於我無法使用函數locFrnd
對象數組,我將它移動到名爲dup
的新數組。作爲dup
的主要目的是我可以使用這些數據並獲得indexOf
函數。 $scope.Friend
是傳入的數據源,也是一個數組。用戶可以在$scope.Friend
中發送多個值。我想在這裏檢查的主要邏輯是,如果在$scope.Friend
中有兩個值作爲$scope.Friend
中的用戶輸入,則需要在locFrnd
數組中逐個檢查這兩個值。如果它們不存在,則它們需要在locFrnd
數組中被推入。唯一的挑戰是indexOf
操作是指最後一個值dup
。 e.g dup
有r,j
和$scope.Friend
有r,j
j
從dup
從$scope.Friend
相比r
和未來價值也沒有得到確認。我不知道爲什麼這種匿名行爲發生在indexOf
功能的情況下indexOf即使數組中存在值,也返回-1的數組
//if country exist
else if (cnt_exist == 1) {
alert("country exist");
var len = $scope.placeCollection[cnt_i].locFrnd.length;
for (var j = 0; j < len; j++) {
var dup = [];
dup[j] = $scope.placeCollection[cnt_i].locFrnd[j].name;
}
//check for friend now
alert("checking for friend");
//some code has to inserted here to handle Friends as it is an array
alert($scope.Friend.length);
for (var k = 0; k < $scope.Friend.length; k++) {
var frnd_exist = 0;
alert($scope.Friend[k]);
alert(dup.indexOf($scope.Friend[k]));
if (dup.indexOf($scope.Friend[k]) != -1) // friend exist
{
alert("entered friend comparison");
frnd_exist = 1;
}
if (frnd_exist == 1) // if friend does not exist
{
alert("friend exist");
} else if (frnd_exist == 0) {
var eachFriend = {
name: $scope.Friend[k]
}
$scope.placeCollection[cnt_i].locFrnd.push(eachFriend);
}
}
這個statment外面總是返回除-1值,如果(dup.indexOf($ scope.Friend [K])!= -1)//朋友存在 – Arunroy
你嘗試打印'$範圍。朋友[k]'或試過做 'var friend = $ scope.Friend [k]; if(dup.indexOf(friend)!= -1)'?? –
應該沒有問題,但嘗試'if(dup.indexOf($ scope.Friend [k])> -1)'也 –