• Javascript 中的数组


    1、用  array.length  也可以移除数组后面的项:

         var colors = ['red', 'blue', 'green'];

         colors.length = 2;

         console.log(colors[2]);  //undefined

    2、如果将其length属性设置大于数组项数的值,则新增的每一项都会取得 undefined 值:

         var colors = ['red', 'blue', 'green'];

         colors.length = 4;

         console.log(colors[3]);  //undefined

     

    3确定某个值是不是数组:

         if(Array.isArray(value)){

          //对数组执行操作

          }

    4、instanceof 运算符返回一个boolean值,表示指定对象是否为某个构造函数的实例。

     

    5栈方法push() 返回 数组的新长度

          var colors = ['red', 'blue', 'green'];

          var count = colors.push('pink');

          console.log(count);  //4

     

    6、栈方法pop() 返回数组中最后一项。

         var colors = ['red', 'blue', 'green'];

         var item= colors.pop();

         console.log(item);  // 'green'

         console.log(colors .length);  //2

     

    7队列方法 shift() 移除数组中第一项,并返回该项,同时将数组长度减 1

    8、队列方法 unshift() 在数组前添加任意个项并返回数组新长度。

     

    9、重排序方法

         reverse(); 将数组反转,返回值是经过排序后的数组

         sort(); 接受一个比较函数作为参数,返回值是经过排序后的数组

         ====升序排列

         var values = [0,1,5,10,15];

         function compare(value1, value2){

             if(value1 < value2) {

                  return -1;

            } else if(value1 > value2) {

                return 1;

            } else {

                return 0;

            }   

         }

         values.sort(compare);

         alert(values);  // 0,1,5,10,15

     

         =====降序排列

        function compare(value1, value2){

             if(value1 < value2) {

                  return 1;

            } else if(value1 > value2) {

                return -1;

            } else {

                return 0;

            }   

         }

         values.sort(compare);

         alert(values);  // 1510510

     

    10操作方法 concat()  这个方法将创建当前数组的一个副本,然后后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组;

          var colors = ['red','green'];

          var colors1 = colors.concat();

          var colors2 = colors.concat('blue',['pink','black']);

          console.log(colors);  // ['red','green']

          alert(colors1);  // red,green

          console.log(colors2); // ['red','green','blue','pink','black']

     

     

     

    11、操作方法 slice() 方法,基于当前数组中的一或多个项创建一个新数组。slice() 方法可以接受一个或两个参数。该方法不影响原数组。

    Var colors = ['red','green','blue','pink','black'];

    Colors.slice(1) ; // ['green','blue','pink','black'];

    Colors.slice(1,4); // ['green','blue','pink'];

    参数

    结果

    一个

    返回从该参数指定位置开始到当前数组末尾的所有项

    两个

    返回起始和结束之间的项(但不包括结束位置的项)

    有负数

    用数组的长度加上该数来确定相应的位置,如 slice(-2,-1) =>slice(3,4)

    结束位置小于起始位置

    返回空数组

         

    12、操作方法 splice 主要用途是向数组的中部插入项。该方法始终都会返回一个数组,该数组中包含从原始数组中删除的项(如果没有删除的项,则返回空数组),并且改变原数组

           splice(起始位置,要删除的项,替换的项,替换的项,。。。)

        

     

     

    13 位置方法 ,indexOf() 和 lastIndexOf() ,都接受两个参数:要查找的项和(可选的)表示查找起点位置的索引。都返回要查找的项在数组中的位置,或者没找到的情况下返回 -1

            indexOf() 从数组的开头向后查找

            lastIndexOf() 从数组的末尾向前查找

    在比较第一个参数与数组中的每一项时,会使用全等操作符;也就是说,要求查的项必须严格相等(就像使用 === 一样)。

           var person = {name: 'Mary'};

           var people = [{name: 'Mary'}];

           var morePeople = [person];

           

           alert(people.indexOf(person));  //-1

           alert(morePeople.indexOf(person));  //0  

     

    14迭代方法:

              every() 传入函数,数组中的而每一项返回true则返回true

            some()传入函数, 数组中有一项项返回true则返回true

            map() 传入函数,返回每一项执行后的结果组成的数组

            filter() 传入函数,返回 执行为true 的项组成的数组

            forEach() 传入函数,每一项执行函数操作,没有返回值

  • 相关阅读:
    如何检测死锁并快速定位死锁位置
    几种线程本地存储变量和普通变量的性能比较
    multi_index_container性能测试
    [高并发引擎]定时器模块
    [高并发引擎]Log模块
    静态博客教程 1:hexo + github
    蛇形填数
    实现简单的 ls 命令
    静态库与动态库的创建和使用
    用两个栈实现队列
  • 原文地址:https://www.cnblogs.com/lmy-ms/p/6558617.html
Copyright © 2020-2023  润新知