Array()数组

1、创建数组

        var pets = ['dog','cat'];

2、concat()方法,用于合并两个或多个数组,返回一个新数组

    例(1):连接两个数组
     var arr1 = ['a','b','c'];
     var arr2 = ['d','e','f'];

     console.log(arr1.concat(arr2));

    例(2):连接三个数组

            var arr1 = ['a','b','c'];
    var arr2 = ['d','e','f'];
    var arr3 = ['g','h','i'];

    console.log(arr1.concat(arr2,arr3));

    例(3):将值连接到数组
     var arr1 = ['a','b','c'];
     var arrNum = arr.concat(1,[2,3]);

     console.log(arrNum);

    例(4):合并嵌套数组

            var num1 = [[1]];
    var num2 = [2,[3]];
    var nums = num1.concat(num2);

    console.log(nums);

3、filter()方法 过滤

    例(1):由大于等于60的元素组成了一个新数组

             let arr=[90,22,56,87,66,20,99];
     let result = arr.filter(function(item){
         if(item>=60){
          return true;
    }else{
  return false;
   }
     })

 console.log(result);

4、find()方法 返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。

 

    例(1):用对象的属性查找数组里的对象     

            var items = [{name:'dog',age:4},{name:'cat',age:2},{naem:'bird',age:1}];
    function findCat(pet){
  return pet.name === 'cat';
    }

     console.log(items.find(findCat));

5、forEach()方法

 

    例(1):依次弹出数字和对应的索引值     

             let arr=[22,32,12,56,78,90];
     arr.forEach((item,index)=>{
 alert(item+","+index);

     })

6、indexOf()方法 返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。

    例(1):使用indexOf方法确定多个值在数组中的位置

            var arr = [1,3,5,7,9];
    alert(arr.indexOf(3));  //1
    alert(arr.indexOf(2));  //-1

    alert(arr.indexOf(9));  //1

    例(2):查找数组中"cat"元素

            var pets = ["dog", "cat", "rabbit", "duck"];
    var a = pets.indexOf("cat");

    console.log(a);

7、join()方法 将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。

    例(1):用四种不同的分隔符连接数组元素

            let a = ['dont', 'let', 'your','dreams','be','dreams'];
    console.log(a.join());            //dont,let,your,dreams,be,dreams
    console.log(a.join(', '));        //dont, let, your, dreams, be, dreams
    console.log(a.join(' + '));     //dont + let + your + dreams + be + dreams

    console.log(a.join(''));         //dontletyourdreamsbedreams

    例(2):连接类数组对象

            function arr(a, b, c) {
        var a = Array.prototype.join.call(arguments);
                console.log(a);
    }

    arr(1, 'a', true);

8、map()方法  通过指定函数处理数组的每个元素,并返回处理后的数组

    例(1):给数组的每个值加倍

            let arr=[12,5,7];
    let result=arr.map(function(item){
                    alert(item);
            return item*2;
    })

    alert(result);        //24,10,14

    例(2):将分数低于60分的化成不及格,大于或等于60分的化成及格

            let arr1=[35,66,99,56,79,80];
    let result1 =arr1.map(function(item){
            if(item>=60){
                            return "及格";
            }else{
                    return "不及格";
    }
    })

    alert(result1);

9、pop()方法  从数组中删除最后一个元素

    例(1)

             var pets = ['dog','cat','bird'];
     var popLast = pets.pop();
     console.log(pets);                      //["dog", "cat"]

     console.log(popLast);                //bird

10、push()方法     将一个或多个元素添加到数组的末尾

     例(1)

 

              var pets = ['dog','cat'];

              var addPet = pets.push('mouse');

      console.log(pets);     //["dog", "cat", "mouse"]

     例(2):合并两个数组

              var arr4 = ['apple', 'pear'];
      var arr5 = ['orange', 'peach'];
      arr4.push('orange', 'peach');

      console.log(arr4);        //["apple", "pear", "orange", "peach"]

 

11、reduce()方法 把一堆数组变成一个

     例(1):计算数组里所有值得和

              var sum = [0, 1, 2, 3].reduce(function (a, b) {
              return a + b;
      });

     alert(sum);

     例(2):将二维数组转化为一堆

             var arr6 = [[1,2],[3,4],[5,6]].reduce(function(a,b){
                     return a.concat(b);
     })

     console.log(arr6);//[1, 2, 3, 4, 5, 6]

     例(3):计算数组中元素出现的次数

              var arr = ["apple","orange","apple","orange","pear","orange"];
      function getWordCnt(){
     return arr.reduce(function(prev,next){
                 prev[next] = (prev[next] + 1) || 1;
         return prev;
     },{});
     }

     console.log(getWordCnt());

12、shift()方法  删除数组最前面的元素

      例(1)

            var pets = ['dog','cat','bird'];
    var shiftFirst = pets.shift();

    console.log(pets);                 //["cat", "bird"]

13、splice()方法 删除数组最前面的元素,splice,在数组中间添加元素,语法:数组名.splice(起点(从1开始数到几就是这个数之后的        数),长度,元素A,元素B),长度代表删除,如果不想删除,长度就是0。

      例(1)

              var arr=["Kathy","Kristal","Diana","Kelly"];
      arr.splice(2,0,"Grace");        //在第二个后面添加“Grace”
              console.log(arr);
      arr.splice(2,2,"Grace");        //删除

      console.log(arr);

14、sort()方法  对数组的元素进行排序。

     例(1):对字母进行排序可以直接用sort

              var arr=['apple','yellow','blue','grew','orange'];

              console.log(arr.sort());

     例(2):对数字进行排序

              var arr2=[12,8,19,13,99,112,2];
              function compare(a,b){
                  //return a-b;//从小到大
                  return b-a;//从大到小
          }

     console.log(arr2.sort(compare));

15、unshift()方法  将一个或多个元素添加到数组的开头,并返回新数组的长度。

     例(1)

var arr = [1,2];
arr.unshift(0);
console.log(arr);

arr.unshift([-1]);
console.log(arr);

posted @ 2018-03-08 19:57  清蒸呀  阅读(208)  评论(0编辑  收藏  举报