6-2 jQuery中查找数组中的索引inArray
本节编程练习不计算学习进度,请电脑登录imooc.com操作

jQuery中查找数组中的索引inArray

在PHP有in_array()判断某个元素是否存在数组中,JavaScript却没有,但是jQuery封装了inArray()函数判断元素是否存在数组中。注意了:在ECMAScript5已经有数据的indexOf方法支持了,但是jQuery保持了版本向下兼容,所以封装了一个inArray方法

jQuery.inArray()函数用于在数组中搜索指定的值,并返回其索引值。如果数组中不存在该值,则返回 -1。

语法:

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

用法非常简单,传递一个检测的目标值,然后传递原始的数组,可以通过fromIndex规定查找的起始值,默认数组是0开始

例如:在数组中查找值是5的索引

$.inArray(5,[1,2,3,4,5,6,7]) //返回对应的索引:4

注意:

如果要判断数组中是否存在指定值,你需要通过该函数的返回值不等于(或大于)-1来进行判断

任务

  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  6. <title></title>
  7. <style>
  8. p {
  9. color: red;
  10. }
  11. div{
  12. width:200px;
  13. height: 100px;
  14. background-color: yellow;
  15. color:red;
  16. }
  17. </style>
  18. <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
  19. </head>
  20.  
  21. <body>
  22. <h2>inArray方法</h2>
  23. <p>慕课网,专注分享</p>
  24. <div id="aaron"></div>
  25. 点击观察结果:
  26. <select id="animation">
  27. <option value="1">inArray</option>
  28. <option value="2">inArray</option>
  29. </select>
  30. <input id="exec" type="button" value="执行动画">
  31. <script type="text/javascript">
  32. $("#exec").click(function() {
  33. var v = $("#animation").val();
  34. var $aaron = $("#aaron");
  35. $aaron.empty();
  36. if (v == "1") {
  37.  
  38. var index = $.inArray('Aaron',['test','Aaron', 'array','慕课网']);
  39.  
  40. $aaron.text('Aaron的索引是: '+ index)
  41.  
  42. } else if (v == "2") {
  43.  
  44. //指定索引开始的位置
  45. var index = $.inArray('a',['a','b','c','d','a','c'],2);
  46.  
  47. $aaron.text('a的索引是: '+ index)
  48. }
  49. });
  50. </script>
  51. </body>
  52.  
  53. </html>
  54.  
下一节