js - 数组


数组

  • js - 数组
  • 简介
  • 数组的方法
  • 实例


简介

数组
   1、存储数组中的元素,语法:数组名[下标] = 值
   2、读取数组中的元素,如果读取不存在的索引,不会报错而是返回undefined
   3、获取数组的长度,语法:数组名.length
      1)对于连续的数组,使用length可以获取到数组的长度(元素的个数)
      2)对于非连续的数组,使用length会获取到数组的最大索引+1
      3)修改length
        - 如果修改的length大于原长度,则多出部分会空出来
        - 如果修改的length小于原长度,则多出的元素会被删除

数组的方法

1、push()
   - 该方法可以向数组末尾添加一个或多个元素(即参数),并返回数组的长度,原数组发生改变
2、pop()
   - 该方法可以删除并返回数组的最后一个元素,原数组发生改变
3、unshift()
   - 该方法向数组的开头添加一个或多个元素(即参数),并返回数组的长度,原数组发生改变
4、shift()
   -该方法可以删除并返回数组的第一个元素,原数组发生改变
5、slice()
   -该方法可以截取数组中的元素,返回截取元素组成的数组,原数组不发生改变
   -第一个参数为start,即截取开始的位置
   -第二个参数为end,即截取结束的位置(不包括)
   -第二个参数省略不写时,会截取到从开始位置索引到数组末尾
   -第二个参数可以为负数,即从后往前查,-1为最后一个,-2为倒数第二个,以此类推
6、splice()
   -该方法可以截取数组中的元素,返回截取元素组成的数组,原数组发生改变
   -第一个参数为start,即截取开始的位置
   -第二个参数为len,即截取的长度
   -第三个及以后的元素,即要在截取开始位置插入的元素
7、concat()
   -该方法可以连接两个或多个数组(参数),并将新数组返回,原数组不发生改变
8、join()
   -该方法可以将数组转换为一个字符串,用特定的字符(即参数,默认为',')进行分隔,将转换后的结果返回,原数组不发生改变
9、reverse()
   -该方法可以将数组进行反转,返回反转后的数组,原数组发生改变
10、sort()
   -对数组进行排序,返回排序后的数组,原数组发生改变
   -默认按照Unicode编码进行排序
   -对数字进行排序时,需要传入参数(即一个函数(回调函数,浏览器会根据回调函数的返回值决定元素的顺序,
      1)如果返回一个大于0的值,则元素交换位置
      2)如果返回一个小于0的值,则元素位置不变
      3)如果返回一个0,则认为两个元素相等,也不交换位置))
   -升序:sort(function(a, b){
                return a - b;
            })
   -降序:sort(function(a, b){
                return b - a;
            })

实例

<script>
             
            let array = [1, 2, 3];

            array.push(4);
            array.push(5, 6);
            console.log("push()方法:")
            console.log(array);

            array.pop();
            array.pop();
            console.log("pop()方法:")
            console.log(array);

            array.unshift('a');
            array.unshift('b');
            console.log("unshift()方法:")
            console.log(array);

            array.shift();
            console.log("shift()方法:")
            console.log(array);

            let newArray1 = array.slice(1, 3);
            console.log("slice()方法:")
            console.log(newArray1);
            console.log(array);

            let newArray2 = array.splice(1, 2);
            console.log("splice()方法:")
            console.log(newArray2);
            console.log(array);

            let newArray3 = array.splice(0, 2, 'x', 'y');
            console.log(newArray3);
            console.log(array);

            let array2 = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
            let newArray4 = array.concat(array2, 'h', 'i');
            console.log("concat()方法:")
            console.log(array)
            console.log(newArray4)

            let str = array.join();
            console.log("join()方法:")
            console.log(str)
            console.log(array)

            let newArray5 = array.reverse();
            console.log("reverse()方法:")
            console.log(newArray5);
            console.log(array);

         </script>