var arr_data = [1,2,3]
arr_data.indexOf(1)//如果存在返回值的下标,不存在返回-1
2.jquery的$.inArray()方法
$.inArray(1, arr_data)//如果存在返回值的下标,不存在返回-1
3.arr.find()
数组实例的find()用于找出第一个符合条件的数组元素。它的参数是一个回调函数,所有的数组元素依次遍历该回调函数,直到找出第一个返回值为true的元素,然后返回该元素,否则返回undefined。
注意:find()对于空数组,函数是不会执行的。find()并没有改变数组的原始值
4.arr.findIndex()返回第一个符合条件的数组元素的位置,如果所有的元素都不符合条件,则返回-1.
注意:find(),findIndex()弥补了index的不足:(即判断NAN)
[NaN].indexOf(NaN) // -1
[NaN].findIndex(y =>Object.is(NaN, y))
5.最常见的就是 for和if 的组合
注意: 这里forEach return false 是阻止不了循环的行为;
可以直接使用数组的indexOf方法来判断,如果元素存在于数组中,那么返回元素在数组中的下标值,如果不存在,那么返回-1,但是该方法在某些版本的IE中是不起作用,所以建议使用jquery的inArray方法,该方法返回元素在数组中的下标,如果不存在与数组中,那么返回-1,代码如下所示:
/*** 使用jquery的inArray方法判断元素是否存在于数组中
* @param {Object} arr 数组
* @param {Object} value 元素值
*/
function isInArray2(arr,value){
var index = $.inArray(value,arr)
if(index >= 0){
return true
}
return false
}
数组元素的添加
1.arrayObj. push([item1 [item2 [. . . [itemN ]]]])// 将一个或多个新元素添加到数组结尾,并返回数组新长度。
2.arrayObj.unshift([item1 [item2 [. . . [itemN ]]]])// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度。
3.arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]])//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。
一. 基本概念
1.JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
2.在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
3.为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。
二. 组成部分
javascript组成一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:
核心(ECMAScript)、文档对象模型(Document Object Model,简称DOM)、浏览器对象模型(Browser Object Model,简称BOM)。