如何在javascript中删除数组中的特定元素
这个问题在这里已经有了答案:
var newArray = [];
var a=["a","b","c"];
for(var i=0;i<a.length;i++)
if(a[i]!=="a") newArray.push(a[i]);
remove = function(ary, elem) {
var i = ary.indexOf(elem);
if (i >= 0) ary.splice(i, 1);
return ary;
}
前提是您的目标浏览器支持array.indexOf
,否则使用array.indexOf
的后备代码。
如果您需要删除所有相同的元素,请使用Rocket建议的filter
:
removeAll = function(ary, elem) {
return ary.filter(function(e) { return e != elem });
}
如果您使用的是现代浏览器,则可以使用.filter
。
Array.prototype.remove = function(x){
return this.filter(function(v){
return v !== x;
});
};
var a = ["a","b","c"];
var b = a.remove('a');
链接地址: http://www.djcxy.com/p/3205.html