js从数组中删除指定值的元素,而不是指定位置

      比如数组{1,2,3,4,5},我要删除其中的元素3,但是这个3的位置我是不知道的,

 

  只知道要删除值为3的这一个元素。


  如果没有使用第三方框架,有类似的扩展功能可以根据指定值,返回元素的下标的话,只能自己先查找,然后再删除。

<script type="text/javascript"> 
Array.prototype.indexOf = function(val) { 
for (var i = 0; i < this.length; i++) { 
if (this[i] == val) return i; 

return -1; 
}; 
Array.prototype.remove = function(val) { 
var index = this.indexOf(val); 
if (index > -1) { 
this.splice(index, 1); 

}; 

var array = [1, 2, 3, 4, 5]; 
array.remove(3); 

</script>