就像我有一个数组数组('一个','三个','两个'); ,并且,比方说,我想要删除项目三,我该怎么做? / p>
答案 0 :(得分:2)
var a = ['one', 'three', 'two'];
a.splice(a.indexOf('three'), 1);
alert(a);
对于不支持indexOf的浏览器,有一种解决方法 https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Objects/Array/IndexOf#Compatibility
答案 1 :(得分:1)
function RemoveArrayValue(arr, val)
{
var result = [], //empty array
j = 0, i, len = arr.length;
for(i = 0; i < len; ++i)
if(arr[i] != val)
result[j++] = val;
return result;
}
顺便说一句:
indexOf方法不是IE下的Javascript Array对象的一部分(也不是IE8的一部分),而是String对象的一部分。如果希望indexOf方法成为JS Array对象的一部分,则必须在代码中声明:
if (!Array.prototype.indexOf)
{
Array.prototype.indexOf = function(val)
{
for(var i = 0, len = this.length; i < len; ++i)
if(this[i] === val)
return i;
return -1;
}
}