Javascript 中的数组

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

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

     colors.length = 2;spa

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

 

 

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

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

     colors.length = 4;队列

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

 

3肯定某个值是否是数组:it

     if(Array.isArray(value)){io

      //对数组执行操做

      }

 

 

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() 传入函数,每一项执行函数操做,没有返回值

相关文章
相关标签/搜索