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

用到的方法$.inArry();

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

value任意类型 用于查找的值。
arrayArray类型 指定被查找的数组。
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

<!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>

 

循环方法删除

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

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

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值