js array 的理解

 array 可以模拟栈和队列的数据结构
pop()(删除最后一项并返回)push()(插入数据到最后一项)可以实现先进先出的栈数据结构
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
pop() unshift() 首端进尾端去 push() shift() 尾端进,首端去 正反方向模拟队列
 
sort() 排序是将number 里的数据都tostring 再进行字符串比较所以如果数据中是number 类型,比较就会出错
所以sort 中可以传入一个比较方法。
当前一个小于相邻的后一个数据时则返回 -1 反之返回 1 相等返回 0
 
function compare(v1,v2) {
  if(v1<v2){
    return 1
  }else if(v1> v2){
    return -1;
  }else{
    return 0
  }
}
array.push(1,5,20,15);

 //sort 的方法 如果第一个小于第二个相邻的数值则会返回一个负数反之正数

array.sort(compare);

 

数组中的方法以是否改变原数组为前提分为两类

改变原数组:
shift:将第一个元素删除并且返回删除元素,空即为undefined
unshift:向数组开头添加元素,并返回新的长度
pop:删除最后一个并返回删除的元素
push:向数组末尾添加元素,并返回新的长度
reverse:颠倒数组顺序
sort:对数组排序

splice:splice(start,length,item)删,增,替换数组元素,返回被删除数组,无删除则不返回


不改变原数组
concat:连接多个数组,返回新的数组
join:将数组中所有元素以参数作为分隔符放入一个字符
slice:slice(start,end),返回选定元素
map,filter,forEach,some,every等不改变原数组 这几个方法是传入参数 

例如 var array=[1,2,3] array.map(function(item,index,array){ return item>2})
 
 
posted @ 2018-05-09 17:02  蓝色丶格调  阅读(173)  评论(0编辑  收藏  举报