例如:array=(3,56,78,24,56,23),提交 78 后,如何使数组变成array=(3,56,24,56,23)?
第1个回答 2011-07-07
可以这样:
array.splice(2,1);
说明:
splice 方法
从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
参数
arrayObj
必选项。一个 Array 对象。
start
必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。
deleteCount
必选项。要移除的元素的个数。
item1, item2,. . .,itemN
必选项。要在所移除元素的位置上插入的新元素。
说明
splice 方法可以移除从 start 位置开始的指定个数的元素并插入新元素,从而修改 arrayObj。返回值是一个由所移除的元素组成的新 Array 对象。
array.splice(2,1);
说明:
splice 方法
从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
参数
arrayObj
必选项。一个 Array 对象。
start
必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。
deleteCount
必选项。要移除的元素的个数。
item1, item2,. . .,itemN
必选项。要在所移除元素的位置上插入的新元素。
说明
splice 方法可以移除从 start 位置开始的指定个数的元素并插入新元素,从而修改 arrayObj。返回值是一个由所移除的元素组成的新 Array 对象。
第2个回答 推荐于2016-11-25
test = newArray(); Array.prototype.removeByValue = function(val) { for(vari=0; i<this.length; i++) { if(this[i] == val) { this.splice(i, 1); break; } } } test[0] = 'Apple'; test[1] = 'Ball'; test[2] = 'Cat'; test[3] = 'Dog'; alert("Array before removing elements: "+test); test.removeByValue('Cat'); alert("Array after removing elements: "+test);
参考资料:
本回答被提问者采纳