jQuery删除数组中指定的元素
方法:arr.splice($.inArray(元素, 数组), 删除的个数);
var arr = ['a','b','c','d'];
arr.splice($.inArray('a', arr), 1);
console.log(arr);
结果: [“b”, “c”, “d”]
注:这里有一个坑,如果要删除的元素在原数组中不存在,会将原数组的最后一个元素删除掉:
var arr = ['a','b','c','d'];
arr.splice($.inArray('m', arr), 1);
console.log(arr);
结果:[“a”, “b”, “c”]
所以,这样就会导致结果错误,因此,我们在删除元素之前要先判断一下这个要被删除的元素是否存在原数组里,如果有则删除,如果没有,不做处理:
var arr = ['a','b','c','d'];
if($.inArray('m', arr) == -1){
//$.inArray(元素, 数组) == -1 表示要删除的元素不在原数组中
}else{
arr.splice($.inArray('m', arr), 1);
}
console.log(arr);
结果:[“a”, “b”, “c”, “d”]