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);

$.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

<!DOCTYPE html>

<html>

<head>

 <style>

 div { color:blue; }

 p { color:green; margin:0; }

 span { color:red; }

 </style>

 <script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.js"></script>

</head>

<body>

 <div></div>

 <p></p>

 <span></span>

<script>

var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];

$("div").text(arr.join(", "));

  

arr = jQuery.grep(arr, function(n, i){

 return (n != 5 && i > 4);

});

$("p").text(arr.join(", "));

  

arr = jQuery.grep(arr, function (a) { return a != 9; });

$("span").text(arr.join(", "));

  

</script>

  

</body>

</html>

  则结果为:

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

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

猜你喜欢

转载自blog.csdn.net/qmdweb/article/details/81557017