jquery删除数组元素
jQuery 删除数组元素的方法
jQuery 本身不直接提供删除数组元素的函数,但可以结合原生 JavaScript 方法实现。以下是几种常见的方式:
使用 splice() 方法
通过索引删除数组元素:

var arr = ['a', 'b', 'c', 'd'];
arr.splice(1, 1); // 从索引1开始删除1个元素(删除'b')
console.log(arr); // 输出: ['a', 'c', 'd']
使用 filter() 方法
通过条件过滤删除元素:

var arr = [10, 20, 30, 40];
arr = arr.filter(function(item) {
return item !== 30; // 删除值为30的元素
});
console.log(arr); // 输出: [10, 20, 40]
使用 grep() 方法(jQuery 特有)
jQuery 提供的数组工具函数:
var arr = ['x', 'y', 'z'];
arr = $.grep(arr, function(item, index) {
return item !== 'y'; // 删除'y'
});
console.log(arr); // 输出: ['x', 'z']
删除对象数组中的元素
结合 $.each() 和条件判断:
var objArr = [{id:1}, {id:2}, {id:3}];
$.each(objArr, function(i, item){
if(item.id === 2) {
objArr.splice(i, 1);
return false; // 退出循环
}
});
console.log(objArr); // 输出: [{id:1}, {id:3}]
注意事项
splice()会直接修改原数组filter()和grep()会返回新数组- 在循环中删除元素时需注意索引变化(建议倒序循环)






