jQuery.inArray()的用法,判断指定值(字符串)是否存在数组中

Javascript 1511 0 2013-10-28

jQuery.inArray()的用法,判断指定值(字符串)是否存在数组中
jQuery.inArray(value,array)

描述: 在数组中查找指定值并返回它的索引(如果没有找到,则返回-1)。

添加的版本:1.2
jQuery.inArray( value, array [, fromIndex ] )
        value
        类型: Anything
        要查找的值。
        array
        类型: Array
        一个数组,通过它来查找。
        fromIndex
        类型: Number
        数组索引值,表示从哪里在开始查找。默认值是0,这将查找整个数组。

$.inArray()方法类似于JavaScript的原生.indexOf()方法,没有找到匹配元素时它返回-1。如果数组第一个元素匹配value(参数) ,那么$.inArray()返回0。

因为JavaScript将0视为false(即 0 == false, 但是 0 !== false),如果我们检查在array中存在value,我们只需要检查它是否不等于(或大于)-1。

例子: 返回数组中指定元素的索引值。
<!DOCTYPE html>
<html>
<head>
<style>
div { color:blue; }
span { color:red; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div>"John" found at <span></span></div>
<div>4 found at <span></span></div>
<div>"Karl" not found, so <span></span></div>
<div>"Pete" is in the array, but not at or after index 2, so <span></span></div>
<script>var arr = [ 4, "Pete", 8, "John" ];
var $spans = $("span");
$spans.eq(0).text(jQuery.inArray("John", arr));
$spans.eq(1).text(jQuery.inArray(4, arr));
$spans.eq(2).text(jQuery.inArray("Karl", arr));
$spans.eq(3).text(jQuery.inArray("Pete", arr, 2));
</script>
</body>
</html>

Demo:
"John" found at 3
4 found at 0
"Karl" not found, so -1
"Pete" is in the array, but not at or after index 2, so -1

上一篇:JS中数组Array的用法详解

下一篇:jquery on()方法绑定多个选择器,多个事件

讨论数量:1

天涯网魂 3 杠 5 星2013-10-28 16:03:10

今天听同事说到这个方法,用于判断月份显示天数。之前是用或判断==实现的,找了一个相关说明。很好用,用这个效率提高了。下文简记一下:

jQuery.inArray( value, array )

作用:
inArray()方法是类似JavaScript的原生indexOf()方法,用于在数组中匹配一个数。返回-1代表,没有找到一个匹配。
如果在数组第一个元素的匹配值,$。inArray()返回0,数组值的下标。

如果我们检查值在数组内存在,我们需要检查,如果它不等于(或大于)-1。

示例:
var m_31 = [1,3,5,7,8,10,12];
var m_30 = [4,6,9,11];
console.log(jQuery.inArray(3, m_31));
//返回值为1

请先登录再发表讨论。 2024-04-28

天涯网魂
3 杠 5 星
TA 的文章
TA 的随言
TA 的资源链