数据类型
JS数据类型
基本类型:number、string、null、symbol、boolean、undefined
对象类型:Object(Array、RegExp、Math、Map等)、Function
不可以使⽤ var col = [1,2,] 这样可能会创建2个或者3个长度的数组,因浏览器不同
数组
检测数组
ES5新⽅法:Array.isArray(arr)
兼容写法:
function isArray(arr){
return Object.prototype.toString.call(arr)=="[Object Array]"
}
只有⼀个全局执⾏环境时:arr instanceof Array
迭代⽅法
every((item,index,array)=>{}):所有的数组项都符合判断时返回true,否则返回false;
some((item,index,array)=>{}:只要数组项其中⼀项符合判断时返回true,否则返回false;
filter((item,index,array)=>{}:对数组项进⾏过滤,然后将符合条件的数组项添加到⼀个新的数组,返回新数组;
map((item,index,array)=>{}:遍历且返回执⾏函数后的结果组成的新数组,返回新数组;
forEach((item,index,array)=>{}:仅遍历,不进⾏返回;
转换⽅法
toString() 返回以逗号拼接的数组各项值的字符串
toLocalelString()
join(",") 返回以指定字符串拼接的数组各项值的字符串
栈⽅法(后进先出)
push() 接收任意数量的参数,逐个添加⾄数组末尾,返回修改后的数组的长度
pop() 移除数组末尾最后⼀项,返回移除的项
队列⽅法(先进先出)
shift() 移除数组中的第⼀项并返回该项
unshift() 接收任意数量的参数,逐个添加⾄数组前端,返回新数组长度
重排序⽅法
reverse():反转数组顺序
sort():按升序排列数组项(sort()会调⽤每个数组项的toString()⽅法,⽐较字符串)
sort()可接受⼀个⽐较函数作为参数,优化⽐较
var arr =[1,5,2,9,11,6];
arr.sort(function(a,b){
return a-b
})
console.log(arr)//[11,9,6,5,2,1]