什么是数组
数组时按照顺序存储一些无序列的元素,js数组中可以存放任何类型的数据。但是同意数组中写不同类型的数据,效率会比较低。
判断数组类型的方法汇总
方法一:Object.prototype.toString.call(arr);
方法二:arr.constructor===Array;
方式三:arr.isArray(); //ES6中
类数组转为数组的方式
方式一:arr = Array.prototype.concat.apply([],arguments);
方式二:arr = Array.prototype.slice.call(arguments);
方式三:arr = Array.from(arr1); //ES6中
数组的方法汇总
concat
作用: 连接数组,不改变原数组,返回连接后的新数组。
使用:
方式一:arrA.concat(arrB)
可以利用concat实现数组的复制:var arr4 = arr1.concat()//如果()内不填东西或者填一个[],都可以返回一个新数组;如果在参数中填入内容而非数组,就可以将这些内容添加在新数组的尾部
方式二:var arr2 = arr1.concat(arr3,arr4,arr5)//如果添加数组和元素混合,和上边相同
var arr5 = arr1.concat({ })//连接对象时,相当于把对象当作新元素放入
数组和类数组的连接:var arr=Array.prototype.concat.applay(arr1,arguments)
join
作用: 将数组中的元素通过符号,连接形成新的字符串
使用:
var str = arr.join("-") //()什么也不填时,默认是,连接;()内如果是"" ,表示将每个字符紧密连接在一起
push
作用: 在数组尾部添加一个或者多个元素,并且返回该数组的新长度
()内如果添加的是数组,将会把数组当作元素添加进去
unshift
作用: 在数组的头部添加一个或者多个元素,并且返回该数组的新长度;效率低下
pop()
作用: 删除数组最尾部的元素,并返回被删除的元素
shiift()
作用: 删除数组最前面的一个元素,并且返回被删除的数组
splice(开始位置,删除多少个元素,添加什么元素)
作用: 给数组添加,删除,替换一个或多个元素,返回被删除的元素组成的新数组,会改变原数组
使用:
arr1=arr.splice() //相当于创建一个空数组
arr1=arr.splice(0) //相当于将数组的所有元素转移到另一个数组中
arr=arr.splice(-1) //负数是指从后向前,-1表示仅删除最后一个并返回到新数组中
arr.splice(0,2) //表示从数组的第0为开始,删除两位,并返回到新数组中
arr.splice(2,2,6,7)//从第二位开始,删除两位,返回到新数组中,并添加进6,7
slice(start,end)
作用: 截取,从开始位置到结束位置,返回街区后的新数组,不改变原数组,包括start不包括end
使用:
var arr1=arr.slice() //复制arr数组,到arr1中,没有引用关系
var arr1=arr.slice(0)//同上
var arr1=arr.slice(-1) //复制最后一个元素到新数组
var arr1=arr.slice(2,-1)//从下标为2到倒数最后一个之前复制
indexOf(要查中的内容,从第几个开始查找)
作用: 查找()内元素对应的下标,未找到返回-1;只返回第一个满足条件的值的下标,从前向后查找
lastIndexOf(要查中的内容,从第几个开始查找)
作用: 查找()内元素对应的下标,未找到返回-1;只返回第一个满足条件的值的下标,从后向前查找
reverse()
作用: 倒序,将数组倒序,返回原数组,改变原数组。
sort()
作用: 先将数组中的元素转换为字符串,然后将字符串的第一个字符取出转为Unicode编码,然后比较。当被比较的编码相同时,再转换下一个字符
使用:
arr.sort(function(a,b){
return a-b;//a-b表示按照从小到大排序;b-a表示从打到小排序
})
//sort原理就是冒泡排序,a,b分别表示i和i+1
some()
作用: 判断数组中是否有满足条件的,如果有,返回true,并且不再遍历判断
使用:
arr.some(function(item,index,arr){
})
every()
作用: 判断数组总的元素是否都满足条件
使用:
arr.every(function(item,index,arr){
})
filter()
作用: 筛选,返回满足条件的元素,返回的是新数组
使用:
arr.filter(function()){}
reduce()
作用: 归并 求值
使用:
arr.reduce(function(value,item,index,arr){
},initvalue) //回调函数中有四个参数