js数组拼接、增加、删除、插入等操作

2018-11-09  本文已影响0人  苏码码

一、数组创建的方式:

        var arr  = [1,2,3]
        var arr1 = new Array()
        var arr2 = new Array(size) // size: 期望数组元素个数
        var arr3 = new Array(element0,element1,...,elementn);

二、length: 获取数组长度

        var arr = [1,2,3,4,5];
        console.log(arr.length)

三、数组对象的部分方法

        // 1、concat():数组的拼接
        var arr1 = [8,6,9,3,2,7,5,1,4]
        var arr2 = ['a','b','c']
        var arr = arr1.concat(arr2);
        console.log(arr) // [1, 2, 3, 4, "a", "b", "c"]

        // 2、join():把数组中所有元素通过指定字符拼接成一个字符串
        var str = arr1.join('-') //'-':指定连接字符
        console.log(str) // 8-6-9-3-2-7-5-1-4

        // 3、pop():删除数组的最后一个元素,并返回该值
        var lastEle = arr2.pop();
        console.log(lastEle) // c

        // 4、shift():删除数组的第一个元素,并返回该值
        var firstEle = arr2.shift();
        console.log(firstEle) // a

        // 5、push():向数组的末尾添加元素,并返回数组新的长度
        var newLength = arr2.push('d')
        console.log(newLength) // 4
        
        // 6、reverse():将数组中的元素倒叙排列 
        var newArr =  arr1.reverse();
        console.log(newArr) // [4, 3, 2, 1]
        console.log(arr1)  // [4, 3, 2, 1]
        
        // 7、sort():对数组元素进行排序 sort方法内传入指定规则的函数
        // 升序 
        arr1.sort(function (x,y) {
          return x-y
        })
        console.log(arr1); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
        // 降序
        arr1.sort(function (x, y){
          return y-x
        })
        console.log(arr1); // [9, 8, 7, 6, 5, 4, 3, 2, 1]

        // 8、slice(start,end):从数组中返回选定的元素,返回的是一个新的数组
        // start:必填,当为正值时,从数组头部开始算起;当为负值时,从数组尾部开始算起;0:返回整个数组;
        // end:非必填,规定从何处结束;如果为负数,从数组尾部开始算起;如果没有改参数,则切分的数组从数组的start到数组结束的所有元素;
        var s = arr1.slice(3) // 只有start 则从数组中下标为3的位置开始取值(包含下标3的值)直到数组尾部
        console.log(s) // [6, 5, 4, 3, 2, 1]
        var se = arr1.slice(2,5) // 从数组中下标为2的位置开始取值,到下标为5(不包含下标为5的值)
        console.log(se); // [7, 6, 5]

        // 9、splice(index,howmany,item1...itemX):删除元素,并向数组中添加新的元素
        // index: 必填,整数,规定添加或者删除元素的位置,使用负数则从数组尾部开始,0:从第首端开始
        // howmany: 必填,要删除的项目数量;如果该值为0,则不会删除元素
        // item1...itemX: 可选,向数组中添加的新元素
        var arr3 = ['js','html','css','vue']
        arr3.splice(1,0,'iOS') // 在数组下标为1的位置插入一个元素;并且不删除任何元素
        console.log(arr3) // ["js", "iOS", "html", "css", "vue"]
        arr3.splice(1,2)  // 从数组中下标为1的元素开始删除两个元素
        console.log(arr3) // ["js", "css", "vue"]
        arr3.splice(1,1,'iOS','java','python') // 从数组中下标为1的位置删除1个元素,并且在该位置插入元素
        console.log(arr3) // ["js", "iOS", "java", "python", "vue"]

        // 10、indexOf() 获取某个元素在数组中的下标
        console.log(arr3.indexOf('java')) // 2

        // 11、获取某个下标的元素
        console.log(arr3[3]) // python

      // 12、forEach() 对数组进行循环遍历
      var arr4 = [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20];
      arr4.forEach((item, index, a) => {
        // 参数item: 数组中每一项的内容
        // 参数index: 数组索引
        // 参数a: 指的是数组本身
        console.log(item + " " + index + " " + (a === arr4));
      });

      // 13、map() 函数映射,传一个指定的函数,返回执行该函数后返回的结果,组成一个新的数组
      var arr5 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
      var newArr5 = arr5.map((item, index) => {
        // 参数item: 数组中每一项的内容
        // 参数index: 数组索引
        return item * index;
      });
      console.log(newArr5);

      // 14、filter() 过滤方法,参数:传递一个符合条件的函数,返回满足过滤条件的新数组
      var fArr5 = arr5.filter((item, index) => {
        // 参数item: 数组中每一项的内容
        // 参数index: 数组索引
        return item % 2 == 0;
      });
      console.log(fArr5);

      // 15、every() 用来判断数组中的所有项是否都满足某一条件,都满足返回true,否则false
      var isHave = arr5.every((item) => {
        return item > 8;//判断数组中所有元素是否都大于8
      })
      console.log(isHave) // false

      // 16、some() 判断数组中是否有满足某一条件的项,如果有返回true,否则false
      var isHaveSome = arr5.some((item) => {
        return item > 8 //判断数组中是否存在大于8的项
      })
      console.log(isHaveSome) // true

      // 17、reduce() 从第一项开始到最后一项,迭代数组中所有项,根据函数内的逻辑,返回一个最终的值
      var sum = arr5.reduce((first,second,index,a) => {
        return first + second
      })
      console.log(sum) // 55
      // 18、reduceRight() 和reduce()功能类似 只不过reduceRight()是从右开始向左迭代
      var sum1 = arr5.reduceRight((first,second,index,a) => {
        return first + second
      },10) // 10 是一个计算基数,可以根据需求填写
      console.log(sum1) //65
上一篇 下一篇

猜你喜欢

热点阅读