• 数组基础相关


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

    一:数组的创建

      方式一:数组字面量

        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

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

           

      

  • 相关阅读:
    在SQL2000怎樣用動態實現SQL2005的nvarchar(max)功能
    行列互换
    c#+GUI在aspx页面画图
    做网站用UTF8还是GB2312?
    Mvc如何做权限
    表白网
    vs2008保存很慢,提速
    MVC 向View传值
    aspx画图表
    什么是MVC
  • 原文地址:https://www.cnblogs.com/xiaozhuzhuandxiaomoney/p/6942775.html
Copyright © 2020-2023  润新知