js的数组Array 对象方法中没有直接删除某个值的方法,但是有些情况下在一组数据中,你只知道要从数组中删除值为**的数据,不知道它的索引,这时候,如何从数组中把这个值移除呢?
方法
描述
连接两个或更多的数组,并返回结果。
把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
删除并返回数组的最后一个元素
向数组的末尾添加一个或更多元素,并返回新的长度。
颠倒数组中元素的顺序。
删除并返回数组的第一个元素
从某个已有的数组返回选定的元素
对数组的元素进行排序
删除元素,并向数组添加新元素。
返回该对象的源代码。
把数组转换为字符串,并返回结果。
把数组转换为本地数组,并返回结果。
向数组的开头添加一个或更多元素,并返回新的长度。
返回数组对象的原始值
splice方法是可以删除数组中数据的方法,但是它是通过索引(index)来删除的,所以还是无法做到删除指定值。下面来补一下splice方法:
定义和用法
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
注释:该方法会改变原始数组。
语法
arrayObject.splice(index,howmany,item1,.....,itemX)
参数
描述
index
必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany
必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, …, itemX
可选。向数组添加的新项目。
返回值
类型
描述
Array
包含被删除项目的新数组,如果有的话。
说明
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
方法一:自己定义函数:
function removeByValue(arr, val) {
for(var i=0; i
if(arr[i] == val) {
arr.splice(i, 1);
break;
}
}
}
var somearray = ["mon", "tue", "wed", "thur"]
removeByValue(somearray, "tue");
//somearray will now have "mon", "wed", "thur"方法二:利用jquery的inArray方法:
var arrays = ['a','b','c','d'];
arrays.splice($.inArray('c',arrays),1);
alert(arrays);结果: a,b,d;
















