重点: 数组的新增方法:some,every,filter,map,foreach, for-in 分别作用和区别 拼接join 截取slice 注意点: 伪数组和数组之间的转换,querySelector提取出来的是伪数组 对象用for-in遍历 for(var key in obj){} 在jQuery中:each()方法:主要用来循环jquery对象或数组。 jquery对象.each( function(k,v) { } ); v是一个DOM对象,需转化为jq对象 $(v),于js中不同 知识点: 1. 定义:一组数的集合,数组里可以一次性存储多个值,引用数据类型 2.创建: 1.使用构造函数,通过一个new关键字和Array关键字来创建 语法: var arr = new Array() 2.字面量形式 语法: var arr = [] 3.伪数组:不是真正的数组,但可以使用数组的一些方法和属性 例如通过document.querySelector获取到的就是伪数组 转换成数组的方式:Array.from() 4.数组的方法 shift():删除数组中第一个元素,并将长度减1. 返回被删除的元素 pop():删除数组中最后一个元素,并将长度减1. 返回被删除的元素 unshift():往数组前面添加一个或多个数组元素,长度要改变,返回增加后数组的长度 push():往数组结尾添加一个或多个数组元素,长度要改变; 返回后数组的长度 concat() : 方法用于连接两个或多个数组, 不改变原数组。返回一个新的数组。 var newData = arr1.concat(arr2) reverse() 逆向排序; include() 判断数组是否包含某个值 !!!join(“拼接符”)将数组转成字符串,中间以拼接符连接例如 &,常用于查询字符串(使用频率较高) slice(start,end): 不修改原数组, 将原数组中的指定区域数据提取出来。 start开始 end结束。 如果参数是负值表示从倒数开始。不含结束位置 splice有以下几个使用方式: 删除:用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数) 插入:向数组指定位置插入任意项元素。三个参数,第一个参数(开始位置),第二个参数(0),第三个参数(插入的项) !!!注意:第二个参数(0)为0不会删除任何项 替换:向数组指定位置插入任意项元素,同时删除任意数量的项,三个参数。 第一个参数(起始位置),第二个参数(删除的项数),第三个参数(插入任意数量的项) fill(value,start,end): 使用固定值来替换数组的元素,可用于数组的初始化,两个可选参数,表示填充的起始位置和结束位置 toString() 将数组转成字符串 属于一个对象的方法 注意:String() 不属于数组这个对象,它是强制转换数据类型的方法 5.sort()方法:排序 1.作用:默认按字母和升序值将值作为字符串排列,会改变原数组 如果数字按字符串排序,则 "25" 大于 "100" ,因为 "2" 大于 "1"。 正因为如此,sort() 方法在对数字进行排序时会产生不正确的结果。 官方解决办法:通过比较函数来解决 语法:array.sort(compareFunction) compareFunction:定义替代排序顺序的函数。该函数应返回负值、零值或正值,具体取决于参数,例如: function(a, b){return a-b} sort() 方法比较两个值时,将值发送给比较函数,根据返回的(负、零、正)值对值进行排序。 a - b 两数比较,如果是正数就交换位置,负数位置不变 例子: var res = arr.sort(function(a,b){ return a - b }) //作用将数组进行升序排列,若是b-a则是降序排列 6.ES5新增的数组方法: 1.indexOf(data,start) 接受两个参数:要查找的项和查找起点位置的索引(可选) 查找一个元素在数组中的位置(下标) 默认查找数组里面元素第一次出现的位置 2.foreach() :对数组进行遍历,对数组中每一项运行给定的函数,这个方法没有返回值 arr.forEach(function(item,index){console.log(item)}) 参数一表示数组元素,参数二表示数组元素下标 3.map(callback) :会遍历当前数组,然后调用参数中的的方法,返回当前参数的返回值 map可以改变当前循环的值,返回一个新的被改变过的数组(map需要return),一般用来处理需要修改某一个数组的值 特点:一一对应,映射 作用:读取数据 4.filter()遍历和过滤。返回符合条件的元素的数组,在循环的时候判断是否为true 特点:过滤 5. some(): 检测数组中的元素是否满足指定条件(函数提供)。如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。否则返回false 6.every(): 检测数组所有元素是否都符合指定条件(通过函数提供)。如果有一个不符合就返回false 数组和字符串方法的区别总结: 数组和字符串共同的方法有slice、concat、indexOf、lastIndexOf。 数组转字符串方法为 join,字符串转数组方法为 split。 数组方法中会改变原数组的方法有:sort 、reverse、splice 。 数组方法中 slice 与 splice 的区别是:第一,第二个参数取值不同。前者是数组尾部的索引值,后者是要截取的元素个数。第二,是原数组返回的结果不同,前者不会改变原数组,后者原数组中只剩下未被删除的元素。 字符串方法中 slice、substring、substr 的区别是:第一, slice 既可用于字符串,也可以用于数组。第二,slice 与 substring 的第二个参数是要获取的尾部元素索引值。 而 substr 的第二个参数是要获取的元素个数。第三,substring 支持反向截取,比如 substring(5,2)表示截取2~5之间的字符串,而 slice 不支持。 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |