如果您有一个唯一的数组并且想要删除唯一出现的值,则不需要 jquery 或循环,只需使用好的旧 javascript 的Array.indexOf和Array.splice
var array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
theNumberIwantToRemove = 5,
position = array.indexOf(theNumberIwantToRemove);
if (position !== -1) {
array.splice(position, 1);
}
alert(array);
在jsfiddle 上
如果您的数组不是唯一的并且您想删除每个出现的值,那么仍然不需要 jquery,您可以使用Array.filter
var array = [0, 1, 5, 2, 3, 4, 5, 6, 7, 5, 8, 9],
theNumberIwantToRemove = 5,
position = array.indexOf(theNumberIwantToRemove),
result = array.filter(function (element) {
return element !== theNumberIwantToRemove;
});
alert(result);
在jsfiddle 上
如果你拼命不能不使用 jquery 来解决每个问题:
使用jQuery.inArray
var array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
theNumberIwantToRemove = 5
position = $.inArray(theNumberIwantToRemove, array);
if (position !== -1) {
array.splice(position, 1);
}
alert(array);
使用jQuery.filter
var array = [0, 1, 5, 2, 3, 4, 5, 6, 7, 5, 8, 9],
theNumberIwantToRemove = 5,
position = array.indexOf(theNumberIwantToRemove),
result = $(array).filter(function (index, element) {
return element !== theNumberIwantToRemove;
}).toArray();
alert(result);
在jsfiddle 上
还有jQuery.grep
var array = [0, 1, 5, 2, 3, 4, 5, 6, 7, 5, 8, 9],
theNumberIwantToRemove = 5,
position = array.indexOf(theNumberIwantToRemove),
result = $.grep(array, function (element) {
return element !== theNumberIwantToRemove;
});
alert(result);
在jsfiddle 上
否则,您的代码似乎没有任何问题。