zoukankan      html  css  js  c++  java
  • 数组

    ==================字面量创建数组==================

    1. var arr=[]; []里边可以放数字,字符串,true,false,null,undefined,数组([1,2,3]),对象{x:1,y:2}

      var arr=[1,2.3,true,false,null,undefined,[1,2,3],{x:1,y:2}]

    2. var x=1;

      var arr=[x,x+3,x*5];

    3  var arr=[ , , ]   

      console.log(arr.length);   输出的长度是2  只读到有效的为止 

    4 var arr=[ 1 , , 3];

      console.log(arr);     输出结果是[1, , 3]  单独输出下标为1的是arr【1】结果是undefined

    =================通过构造函数Array()创建数组=============

    1 var a=new Array() 创建了个空数组

    2 var a=new Array(5) 创建数组 5个空数组

    3 var a=new Array(1,2,‘king’,false,2.3,null); 结果是【1,2,‘king’,false,2.3,null】

    4 var arr=【1,2,3,4】;

      arr【0】=‘king’;  替换下标是0的元素内容

    5 

      var arr=[];
      arr[0]='a';
      arr[1]='b';
      arr[-123]='c';
      arr[2.3]='d';
      arr[null]='e';
      arr[false]='f';
      arr[undefined]='g';
      arr['name']='h';
      arr[4]="pp";
      console.log(arr);    输出全部的数组 
      console.log(arr[3]);    //undefined
      console.log(arr.length);   数组的长度为5   (4+1)

    6

      var arr1=new Array(10);
      arr1=[];
      arr1[100]='abc';
      console.log(arr1.length);   长度是101  (100+1)

    7  定义数组的长度是3,后边数组不加

      var arr=[1,2,3,4,5,6,7,8];
      arr.length=3;
      console.log(arr);

    8  Object.defineProperty(arr,'length',{writable:false })  对象定义性质  arr的长度不可写

      var arr=[1,2,3];
      Object.defineProperty(arr,'length',{
      writable:false
      });
      console.log(arr.length);     长度是3
      arr.length=10;
      console.log(arr.length);    长度还是3  定义了长度不可写 所以还是3

    ========================方法==========================

    1  arr.shift()开头删除

    2  arr.unshift()开头添加

    3  arr.push()尾部添加

    4  arr.pop()尾部删除

    5  delete  arr【0】删除下标为0的元素  位置保留

    6  arr.join()将数组内元素组合成一个字符串

    7  arr.reverse()将数组元素反过来输出

    8  arr.sort()将数组元素按照ASCII码排序

    9  arr.concat()组合数组   用来连接两个或者多个数组 该方法不会改变现有的数组。而仅仅会返回被连接数组的一个副本

    10  arr.slice()截取

      var arr=['a','b','c','d','e','f','g','h'];
      res=arr.slice(0,3);     输出是a,b,c   截取的是从下下标为0开始到下标为3之间的元素  但是不包括下标是3的元素

      res=arr.slice(2,-3);输出是c,d,e  截取的是从下标为2开始到从后数第三之间的元素,不包括下标为-3的元素

      res=arr.slice(4);输出结果是e,f,g,h 截取的是下标为4的元素到元素结束  没有限制

    11  arr.splice(index,howmany,item1,item2........itemx)

        index:必需。整数,规定添加/删除项目的位置,使用负数从数组结尾数起

        howmany:必需。要删除的项目数量,如果没有设置为0,则不会删除

        item2........itemx:向数组增加新数组。

      var arr=['a','b','c','d','e','f','g','h'];

      aes=arr.splice(0,1)   aes删除的元素是 a (也就是从下标0元素开始到下标1元素删除 不包括下标为1的元素) arr剩下的是b,c,d,e,f,g,h  

      aes=arr.splice(5)  aes删除的元素是f,g,h(也就是从下标5元素开始到结束)   arr剩下的是a,b,c,d,e

      aes=arr.splice(0,2,‘!’,‘?’,‘%’)    从下标0元素开始删除2个 在向数组添加! ? %  结果是‘!’,‘?’,‘%’','c','d','e','f','g','h'

    12  .map()

      var arr=【1,2,3,4,5】;

      res=arr.map(function(x){

      return x*x;

      })

      console.log(res);结果是1,4,9,16,25     数组平方

    、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

      var arr=['a!','b!','c','d!','e'];

      res=arr.map(text);     调用函数

      function text(x){

        return x.replace(/!/g,'?').toUpperCase();      replace替换 将!替换成?   toUpperCase转换成大写

      }

      console。log(res);      ‘A?’ ,‘B?’ , ‘C’  ,‘D?   ,‘E’

    13  筛选过滤filter

      console.log(res);
      var arr=[1,3,4,5,5,623,4,345,4367,null,undefined,false,true,''];
      res=arr.filter(function(x){
        return x<=10;
      });
      res=arr.filter(function(x){
        return x%2==0;
      });
      res=arr.filter(function(x){
        return x!==undefined && x!=null;
      });
      console.log(res);

    、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

      every所有的元素判断   some一些元素部分元素

      var age=[12,34,55,66,28,19];
      res=age.every(function(x){
        return x>=18;                结果 false
      });
      res=age.some(function(x){
        return x>=19;                结果 true
      });
      console.log(res);

    14  求和 reduce

      var arr=[1,2,3,4,5];
      res=arr.reduce(function(a,b){
        return a+b;
      });
      res=arr.reduce(function(a,b){
        return a+b;
      },10);                   ,10如果有逗号10的话最后结果在加10
      console.log(res);

    15  indexOf 找下标  如果有这个元素则找出下标是多少 如果没有这个元素那输出结果是-1

        var arr=['a','b','c','d','e','a','bv','a'];

        res=arr.indexOf(‘a’);     结果是0

        res=arr.indexOf(‘b’);     结果是1

        res=arr.indexOf(‘A’);    结果是-1

        res=arr.indexOf(‘a’,2); 结果是5   这个找的是第二个a元素的下标

        res=arr.lastindexOf(‘a’);  结果是7 这个找的是最后一个a元素的下标

  • 相关阅读:
    0529学习进度条
    0523-学习进度条
    0515-学习进度条
    实验三-进程模拟调度
    0501-学习进度条
    0424-学习进度条
    0422—操作系统作业调度
    0415-同学博客评价
    0414-复利计算再升级
    0409-学习进度条
  • 原文地址:https://www.cnblogs.com/songhao/p/10216246.html
Copyright © 2011-2022 走看看