js中如何判断数组中是否含有某一项

JavaScript017

js中如何判断数组中是否含有某一项,第1张

一、JQuery

如果是用JQuery的话,可以用inArray()函数:

jquery inarray()函数详解

jquery.inarray(value,array)

确定第一个参数在数组中的位置(如果没有找到则返回 -1 )。

determine the index of the first parameter in the array (-1 if not found).

返回值

jquery

参数

value (any) : 用于在数组中查找是否存在

array (array) : 待处理数组。

用法为:

$.inArray(value, array)

二、自己写函数

function contains(arr, obj) {  

    var i = arr.length  

    while (i--) {  

        if (arr[i] === obj) {  

            return true  

        }  

    }  

    return false  

}

用法为:

var arr = new Array(1, 2, 3)  

contains(arr, 2)//返回true  

contains(arr, 4)//返回false

三、给Array增加一个函数

Array.prototype.contains = function (obj) {  

    var i = this.length  

    while (i--) {  

        if (this[i] === obj) {  

            return true  

        }  

    }  

    return false  

}

使用方法:

[1, 2, 3].contains(2) //返回true  

[1, 2, 3].contains('2') //返回false

由于这里是括号,如果上一行有其他语句但后面未加分号,js就会按同一行来处理,比如

abc

(...)

就相当于abc(...),括号里的内容就变成abc的参数了。

而预先在括号的前面加个分号,就可以避免这种情况发生,尤其是当代码是由多人合作编写的时候。

TS是JS的一个超集,TS包含了JS的库和函数,TS上可以写任何的JS,调用任何的JS库。ts需要静态编译,它提供了强类型与更多面向对象的内容。

1、TypeScript 引入了 JavaScript 中没有的“类”概念

2、TypeScript 中引入了模块的概念,可以把声明、数据、函数和类封装在模块中。

3、js没有重载概念,ts有可以重载

4、ts对比js基础类型上,增加了 void/never/any/元组/枚举/以及一些高级类型