2015-05-29 84 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