jQuery如何根据元素值删除数组元素

用到的方法$.inArry();

$.inArray( value, array [, fromIndex ] )

value 任意类型 用于查找的值。
array Array类型 指定被查找的数组。
fromIndex 可选。Number类型 指定从数组的指定索引位置开始查找,默认为 0

函数用于在数组中查找指定值,并返回它的索引值(如果没有找到,则返回-1);
源数组不会受到影响,过滤结果只反映在返回的结果数组中。

例如删除b这个元素 ,前提不知道b在这个数组的下标

var arr = ['a','b','c','d'];

arr.splice($.inArray('b',arr),1);

alert(arr);

 

jQuery.inArray和splice删除数组元素

不知道数组下标的情况下,删除数组对应元素。实例:

   var arrays = ['a','b','c','d'];

   arrays.splice($.inArray('c',arrays),1);

   alert(arrays);

结果: a,b,d;

jquery删除数组中的一个元素的方法是用splice实现的。
举例说明:
var arrList = ['a','b','c','d'];
arrList.splice(jQuery.inArray('b',arrList),1);
alert(arrList);
其中jQuery.inArray('b',arrList)是b这个元素在数组arrList 中的位置
splice(index,1)函数中第一个参数index是要删除元素在数组中的位置,第二个参数是要删除的数量。
Array对象的方法有:
concat() 连接两个或更多的数组,并返回结果。
join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop() 删除并返回数组的最后一个元素。
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
reverse() 颠倒数组中元素的顺序。
shift() 删除并返回数组的第一个元素
slice() 从某个已有的数组返回选定的元素

$.grep()函数详解——JQuery

2015年12月11日 17:12:54

阅读数:223

如下一个代码段示例:

 

 
  1. $.grep(list, function (n, i) {

  2. return n.Name === "Joker";

  3. })

这个函数的作用是对 “list” 这个数组进行筛选,即挑出所有 Name 为 “Joker” 的元素,

 

最后返回的是一个结果集。

n:代表每次循环的元素;

i:代表每次循环的元素下标。

这里和 $.each(list, function(i, n){ }); 中的 i 和 n 放置的位置刚好相反,这是要注意的。

 

 jQuery.grep()是一个查找满足过滤函数的数组元素的函数。原始数组不受影响,返回值为数组。

用法介绍:

写法:

jQuery.grep( array, function(elementOfArray, indexInArray) [, invert ] )

  参数介绍:

array

类型: Array
用于查询元素的数组。

function(elementOfArray, indexInArray)

类型: Function()

该函数来处理每项元素的比对。第一个参数是正在被检查的数组的元素,第二个参数是该元素的索引值。该函数应返回一个布尔值。this将是全局的window对象。

  elementOfArray--数组元素
  indexInArray--元素索引值

invert

类型: Boolean

如果“invert”为false,或没有提供,函数返回一个“callback”中返回true的所有元素组成的数组,。如果“invert”为true,函数返回一个“callback”中返回false的所有元素组成的数组。    

举例:过滤出原始数组中值不为 5,并且索引值大于 4 的元素。然后再过滤掉所有值为 9 的元素

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

 

 

 

 

 

  

 

循环方法删除

function delElByIndex(arr,index) {
    for (var i = index, len = arr.length - 1; i < len; i++)
        arr[i] = arr[i + 1];
    arr.length = len;
    console.log(arr);
    $("[name='HouseImg']").val(arr);
}

  则结果为:

1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1
1, 9, 4, 7, 3, 8, 6, 9, 1
1, 4, 7, 3, 8, 6, 1

感谢阅读,希望能帮助到大家,谢谢大家对本站的 支持!

你可能感兴趣的:(jQuery如何根据元素值删除数组元素)