zoukankan      html  css  js  c++  java
  • js数组

    数组

      一组有序的数据集合。

    创建数组 []

    var arr=[];
    console.log(typeof arr); //object 对象
      为什么打印出来的是对象?因为数组是特殊的对象。
      为什么说 特殊 的对象?
      因为对象是没有顺序之说。数组的 key 是有需的,对象的 key 可以自己设定。

    长度属性 length

    var arr=[1,2,3,4,5]
    console.log(arr.length); //5,获取数组的长度
    arr.length=0;
    console.log(arr.length); //0,说明数组的 .length 是可写的(字符串的 .length 是只读的)
    arr.length=-1;
    console.log(arr.length); //错误,不能为负值

    添加数据到数组后 push()

      从数组里面推元素小括号里的内容,返回新数组的长度。
    var arr=[1,2,3,4];
    var a=arr.push(5);
    console.log(arr.length); //5,数组长度多了,原来是4
    console.log(a); //5
    var a=arr.push(6,7,8,9); //添加多个数据到数组后面
    console.log(arr); //[1, 2, 3, 4, 5, 6, 7, 8, 9] 新数组

    删除数组后一个数据 pop()

      删除数组后面的一个数据并返回删除的元素,小括号中不加参数。
    var arr=[1,2,3,4,9];
    var a=arr.pop();
    console.log(a); //9

    添加数据到数组前面 unshift()

      返回新数组长度,添加多个用逗号分开。
    var arr=[1,2,3,4,5];
    var b=arr.unshift(0);
    console.log(b) // 6
    b=arr.unshift(-2,-1);
    console.log(b) // 8

    删除数组第一个元素 shift()

      返回删除的值。
    var a=[99,2,3,4,5];
    var b=a.shift();
    console.log(b) // 99, 删除的值
    console.log(a) // [2, 3, 4, 5] 当前数组内容

    合并数组 concat()

      返回一个合并后的数组,参与合并的数组没有改变。返回的数组是由括号中的参数和原数组组成的。
    var a=[1,2];
    var b=[3,4];
    var look=a.concat(b);
    console.log(look) //[1,2,3,4] ,返回新数组
    var look2=a.concat(888,b,999);
    console.log(look2) //[1, 2, 888, 3, 4, 999]

    从指定位置替换值 splice()

      有三个参数。
      第一个是删除的开始位置,第二个是删除的个数,第三个后面是要添加的值。
      只有1个参数:删除开始位置后的所有值;
      只有2个参数:只删除不替换;
    var a=[1,2,3,4,5];
    a.splice(2,1,5,6); //2,删除的开始位置; 1,删除个数; 5,6是添加的值
    console.log(a.splice(2,1,5,6)); //5,返回删除的值
    console.log(a) //[1, 2, 5, 6, 4, 5]

    反序排列数组内的值 reverse()

      返回反序后的数组。
    var a=[1,2,3,4,5];
    var b=a.reverse();
    console.log(b) //[5, 4, 3, 2, 1]

    按指定方法对数组进行排序 sort()

      默认以字符串方法排序,按照ascll编码进行排列,但数字是逐个比较的。
      比如73<9。
    var a=[1,40,2,3,5];
    var b=a.sort();
    console.log(b) //[1, 2, 3, 40, 5]
      比较 40 和 5
      先比 4 和 5 ,即第一位;这里4没有5大,则认为 40 没有 5 大。

    随机打乱数组

    var arr=[1,2,3,4,5,6,7,8,9,10]
    arr.sort(function(a,b){
      return Math.random()-0.5 //为什么-0.5
      //减0.5,结果有一半的几率是正数,一半是负数
      //那为什么减0.5就能实现这种打乱的效果呢?
    })
    console.log(arr) //大概就酱 [3, 1, 4, 6, 2, 10, 5, 7, 9, 8]

    以算术方式比较

      这种情况把 sort() 的参数写成函数。
      function(a,b){
        return a-b
      }
    var a=[1,40,2,3,5];
    var b=a.sort(function(a,b){return a-b});
    console.log(b) //[1, 2, 3, 5, 40]

    截取数组中的值 slice()

      slice(start,end);
      第一个参数是开始位置,第二个是结束位置。
      截取时包含只包含开始位置。
      返回新数组。
    var a=[1,3,47,9,8,6,2];
    var b=a.slice(2,4); //第一个参数是起始位置(包含)的下标,第二个参数是结束(不包含)的下标。
    console.log(b) // [47, 9] 返回截取的新数组。
      例:
    var a=[1,2,3,4,5];
    var b=a.slice(2,5);
    console.log(b) // [3, 4, 5]

    转化数组为一个字符串 join()

      以小括号里面的参数为分隔符号,默认以逗号为分割符。
      返回字符串。
    var a=[1,2,3,4,5];
    var b=a.join(); //默认以","为分割符
    console.log(a) //[1, 2, 3, 4, 5] 原数组没有变化
    console.log(b) //1,2,3,4,5
    var b=a.join("/"); //以"/"为分割符。
    console.log(b) //1/2/3/4/5
    var b=a.join(""); //反默认分割符去掉。
    console.log(b) //12345
     
    本文链接:http://www.cnblogs.com/daysme/p/6138384.html 
    转载请注明出处[我的过去_博客园]:http://www.cnblogs.com/daysme/
  • 相关阅读:
    leetcode 3sum
    leetcode majority elements
    php调取linux的压缩命令进行压缩
    mysql 分区、分表、分库分表。
    如何在数据库中使用索引
    PDO 的基本操作
    JavaScript中常见的字符串操作函数及用法汇总
    php-fpm
    phpmyadmin导入导出数据库文件最大限制的解决方法
    php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳。
  • 原文地址:https://www.cnblogs.com/daysme/p/6138384.html
Copyright © 2011-2022 走看看