cha*_*ndu 20 javascript array-splice angularjs
我有这样一个数组:
$scope.emails = [
{"key":"Work","value":"user@domine.com"},
{"key":"","value":""},
{"key":"Work","value":"user2@domine.com"}
{"key":"","value":""}];
Run Code Online (Sandbox Code Playgroud)
所以,我想删除空的电子邮件,但forEach只删除一个对象的角度方法,最后一个对象为什么???.
js代码
angular.forEach($scope.emails, function(email, index){
if(email.value ===""){
$scope.emails.splice(index, 1);
}
});
Run Code Online (Sandbox Code Playgroud)
我做错了
Jam*_*ice 55
问题是你在循环期间从数组中删除元素,以便后面的项目处于不同的索引.你需要向后循环:
for (var i = $scope.emails.length - 1; i >= 0; i--) {
if (!$scope.emails[i].value) {
$scope.emails.splice(i, 1);
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个更新的例子.
| 归档时间: |
|
| 查看次数: |
52277 次 |
| 最近记录: |