美文网首页
数组任务

数组任务

作者: 辉夜乀 | 来源:发表于2017-04-13 11:51 被阅读18次

    1.数组方法

    push()

    在数组的末尾增加元素,()内有参数

    var arr = ['a','b','c']
    arr.push('d','e');    //push('d','e') 在数组的末尾增加元素'd','e'
    console.log(arr);     //["a", "b", "c", "d", "e"]
    

    pop()

    数组的末尾的元素去掉,()内没有参数

    var arr = ['a','b','c','d']
    arr.pop();            //pop() 把数组末尾的元素'd'去掉了
    console.log(arr);     // ["a", "b", "c"]
    

    shift()

    删除数组的第一个元素,()内没有参数

    var arr = ["a", "b", "c", "d", "e"];
    arr.shift();            // shift() 把数组的第一个元素'a'去掉了
    console.log(arr);       // ["b", "c", "d", "e"]
    

    unshift()

    在数组的第一个元素前增加元素,()内有参数

    var arr = ["a", "b", "c", "d", "e"];
    arr.unshift(1,2,3);    // unshift():在数组的第一个元素前增加元素1,2,3
    console.log(arr);      //[1, 2, 3, "a", "b", "c", "d", "e"]
    

    join()

    把数组拼接成字符串

    var arr = ["a", "b", "c", "d", "e"];
    arr.join('');    // "abcde"        以空字符串连接
    arr.join('-');   // "a-b-c-d-e"    以"-"连接
    arr.join('.');   // "a.b.c.d.e"    以"."连接
    arr.join();      // "a,b,c,d,e"    直接把数组整个变成字符串
    

    splice()

    对数组中的任意元素删除、增加、替换,()内有参数

      // 删除数组任意元素
    var arr1 = ["a", "b", "c", "d", "e"];
    arr1.splice(2,1)
      /* ()内第一个参数表示数组的下标(必须有),第二个参数表示删除的个数
      arr[2] 就是“c”,删除1个
      */
    console.log(arr1)         // ["a", "b", "d", "e"]
    
      // 删除数组任意元素之后所有元素
    var arr2 = ["a", "b", "c", "d", "e"];
    arr2.splice(2)  // 如果()内没有第二个参数,就意味着下标后的所有元素都删除
    console.log(arr2)         // ["a", "b"]
    
      // 替换数组任意元素
    var arr3 = ["a", "b", "c", "d", "e"];
    arr3.splice(2,1,'A','B')
    /* 如果()内有3个及3个以上的参数,
    前两个表示要删除的元素,第三个(含)之后的参数是要增加的元素
    */
    console.log(arr3)        // ["a", "b", "A", "B", "d", "e"]
    
      // 在数组任意位置插入元素
    var arr4 = ["a", "b", "c", "d", "e"];
    arr4.splice(2,0,1,2,3)  
    /*第二个参数是0,表示在下标前插入任意元素,
    第三个(含)之后的参数是要插入的元素
    */
    console.log(arr4)
      // ["a", "b", 1, 2, 3, "c", "d", "e"]
    

    2.写一个函数,操作数组,数组中的每一项变为原来的平方,在原数组上操作

    function squareArr(arr){
      for(var i=0; i<arr.length; i++){
        arr[i] = arr[i]*arr[i];
      }
      return arr;
    }
    var arr = [2, 4, 6]
    squareArr(arr)
    console.log(arr)    // [4, 16, 36]
    

    3.写一个函数,操作数组,返回一个新数组,新数组中只包含正数,原数组不变

    function filterPositive(arr){
      var arrPlus = [];
      var j = 0;
      for(var i=0; i<arr.length; i++){
        if( typeof arr[i] ==="number" && arr[i] > 0){
          arrPlus[j] = arr[i];
          j++;
        }  
      }
      return arrPlus;
    }
    var arr = [3, -1,  2,  '饥人谷', true]
    var newArr = filterPositive(arr)
    console.log(newArr) //[3, 2]
    console.log(arr) //[3, -1,  2,  '饥人谷', true]
    

    相关文章

      网友评论

          本文标题:数组任务

          本文链接:https://www.haomeiwen.com/subject/gjxbattx.html