2015-05-29 33 views
1

我試圖做到這一點:函數包含在angularJs

for(i=0;i<$scope.users.length;i++){ 
    var name= $scope.users[i].name; 

    if(!(name.contains('ext'))){ 
     $scope.users.splice(i,1); 
    } 
} 

但我有一個錯誤有關函數包含。 我也嘗試過匹配功能,並且遇到同樣的問題。 有人可以幫助我嗎?

回答

1

字符串沒有.contains()方法。

用途:

if (name.indexOf('ext') === -1) { 
    ... 
} 

ES6有String.prototype.includes()方法,但是這是目前僅在Chrome和Firefox支持。現在你最好使用上述方法。

您的環路也不會工作,因爲您在遍歷數組時正在從數組中刪除元素。你會做得更好:

$scope.users = $scope.users.filter(function (user) { 
    return user.name.indexOf('ext') !== -1; 
}); 
0

你如何使用includes

或者您可以嘗試name.indexOf('ext') === -1