JQ删除数组中的某一个值

我得到一个值,这个值一定和一个数组中的某个值相等,我如何找到这个值在数组中的位置并且删掉它呢。

var removeFromArray = function (arr, val) {
    var index = $.inArray(val, arr);
    if (index >= 0)
        arr.splice(index, 1);
    return arr;
};

console.log(removeFromArray([1, 2, 3, 4, 5], 4));

追问

可以解释下不。大神

追答

$.inArray函数是去查询数组中值的index,找到返回index,否则返回-1。
这样,如果index不是负数的话,就是找到了。
然后splice方法是原生JS中的删除和增加元素的方法,第一个参数是要删除的元素的起始索引号,第二个参数是要删除的数量。所以,我们就从找到的index开始删除1个,就是删除了查找的那个。
最后返回删完的数组。当然,如果没找到,就没经过if,就返回原始数组。

追问

会报错说$.inArray不是function

追答

你用的什么版本的jQuery?

追问

搞错了,是
underscore

追答

underscore直接用without呀。

_.without([1, 2, 3, 4, 5], 4);

追问

表达式写在哪里/

追答

没明白你说的。

var arr = [1, 2, 3, 4, 5]; // 你的数组
var val = 4; // 你要删除的值
arr = _.without(arr, val);
console.log(arr);

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网