数组基础相关

码农和程序员之间的距离是一万次的深度思考与总结。

一:数组的创建

  方式一:数组字面量

    var BAT=['Baidu','Alibaba','Tecent'];

  方式二:Array构造器

    var arr=new Array();//传递参数可为数组长度或数组元素

二:数组元素的增删操作

  2.1 增

    1、以赋值的方式动态增加数组的长度

      var arr=[];//创建一个空数组

      arr[0]=1;

    2、在数组末尾增加元素 push()或arr[arr.length]实现

      arr.push(1);//数组末尾新增元素1

      arr[arr.length]=1;

    3、在数组第一个元素前增加一个元素 unshift()

  2.2删

    1、删除元素,不改变数组长度 delete

      delete arr[2];//arr数组中索引为2的元素值变为undefined,数组长度不变。但2 in arr返回值为false.

    2、删除元素并改变数组长度 

      删除尾部元素:arr.pop() 或 arr.length-=1;//通过改变数组长度的方式

      删除第一个元素:arr.shift()

三、二维数组遍历

  var i=0,j=0;  

  var arr=[[1,2,3],[3,4,5]];

  for(;i<arr.length;i++){

    for(;arr[i].length;j++){

    console.log(arr[i][j]);

  }

四、数组的方法

  由数组对象的原型Array.prototype提供方法 

  一、通用方法(所有浏览器都适用)

    1、join() 将数组转换成字符串。可传递参数,参数为每个元素的间隔符

    2、reverse() 数组逆序,原数组被修改

    3、sort()对数组元素进行排序(以字符串的形式)原数组被修改。

      var arr=['a','c','b'];

      arr.sort();//['a','b','c']

      若arr元素为数字,直接sort排序,不会得到数字按序排列。可函数处理得

      var arr1=[12,8,22,43];

      arr.sort(function(x,y){

        return x-y;//从小到大

      });

    4、concat() 数组合并,原数组未改变

      var arr=[1,2];

      arr.concat([4,5],6);//[1,2,4,5,6]数组拼接中包含的一维数组会被拉平

    5、slice() 返回部分数组,原数组未改变

      var arr=[1,2,3,4,5];

      arr.slice(2,3)//[3] 范围左闭右开

    6、splice()数组拼接 原数组改变

      传递一个参数时,参数为起始剪切的索引。剪切掉数组索引之后的内容

      传递两个参数时,第一个是剪切索引,第二个是剪切的长度

      传递值大于三个时,第三个及以后为需要加入到剪切索引位置处的新增元素

  二、ES5新增

    1、map() 映射数组元素,原数组不变

      var arr=[1,2,3];

      arr.map(function(x){

        return x+10;

      });//[11,12,13]

      arr;//[1,2,3]

    2、filter() 数组过滤,原数组不变

      可针对值和索引进行筛选

    3、every() some() 数组判断

    4、reduce() 将数组元素两两进行操作,最终返回一个值

    5、indexOf()数组检索 检索元素在数组中的位置,返回索引值,若不存在返回-1

      传递两个参数 检索值和检索位置值   

       

 

 

  

 

posted @ 2017-06-05 00:19  偶多克  阅读(128)  评论(0编辑  收藏  举报