JavaScript8笔记:数组(Array)

目录

 

数组(Array)

创建数组

向数组中添加元素

目录

数组(Array)

创建数组

向数组中添加元素

读取数组中的元素

获取数组的长度

修改length

数组的四个常用方法

push()方法

pop()方法

unshift()方法

shift()方法

数组的遍历

slice()方法

splice()方法(常用)

concat()方法

join()方法

reverse()方法

sort()方法


 

读取数组中的元素

获取数组的长度

修改length

数组的四个常用方法

push()方法

pop()方法

unshift()方法

shift()方法

数组的遍历

slice()方法

splice()方法(常用)

concat()方法


  1. 数组(Array)

    1. 数组也是一个对象

    2. 用来存储值

    3. 索引:从0起

    4. 使用typeof检查会是Object类型

    5. 数组中的元素可以是任意数据类型

    6. 数组的存储性能比普通对象要好,在开发中经常使用数组来存储一些数据

    7. 创建数组

var 数组名 = [值1, 值2, 值3, ...];
var 数组名 = new Array(值1, 值2, 值3, ...);

var 数组名 = [值1];    // 创建只有值1的数组
var 数组名 = new Array(值1);    // 创建长度为值1的空数组,不常用
  1. 向数组中添加元素

// 语法
数组[索引] = 值

// 向数组的最后添加元素
数组[数组.length] = 值
  1. 读取数组中的元素

    1. 读取的索引如果不存在会返回undefined

// 语法
数组[索引]
  1. 获取数组的长度

    1. 连续数组:使用length可以获取到连续的数组的长度

    2. 非连续数组:使用length可以获取到非连续数组的最大索引+1

    3. 注意:尽量不要创建非连续数组

// 语法
数组.length
  1. 修改length

    1. 如果修改的length大于原长度,则会把不够的部分填充为空

    2. 如果修改的length小于原长度,则会把多余的部分删除

// 语法
数组.length = 新长度
  1. 数组的四个常用方法

    1. push()方法

      1. 向数组的末尾添加一个或多个元素

      2. 返回新数组的新长度

数组名.push(值1, 值2, 值3, ...)
  1. pop()方法

    1. 该方法可以删除数组的最后一个元素

    2. 返回被删除的元素

数组名.pop()
  1. unshift()方法

    1. 向数组开头添加一个或多个元素,其他元素会依次向后调整

    2. 返回新的数组长度

数组名.unshift(值1, 值2, 值3, ...)
  1. shift()方法

    1. 该方法可以删除数组的第一个元素

    2. 返回被删除的元素

数组名.shift()
  1. 数组的遍历

    1. 循环使下标访问元素

// 示范
for(var i = 0; i < arr.length; i++){
    console.log(arr[i]);
}
  1. forEach方法

    1. 需要一个函数作为参数

      1. 像这种函数,由我们创建但不由我们调用的函数,称之为回调函数

      2. 数组中有几个元素,函数就会执行几次。每次执行,浏览器会将遍历到的元素以实参的形式传递进来,我们可以定义形参来读取这些内容

    2. 浏览器会在回调函数中传递三个参数:

      1. 第一个参数,是当前正在遍历的元素

      2. 第二个参数,是当前正在遍历的元素的索引

      3. 第三个参数,是当前正在遍历的数组

数组名.forEach(function(value, index, obj){
    操作语句......
});
  1. slice()方法

    1. 可以用来才数组中提取出指定元素

    2. 参数:

      1. 参数1:截取开始位置的索引(含)

      2. 参数2:截取结束位置的索引(不含)

        1. 参数2省略时,默认截取到末尾

    3. 参数可以传递一个赋值,表示从后往前计算(从-1起)

// 示范
var result = arr.slice(1, 2);
  1. splice()方法(常用)

    1. 可以用来删除数组中指定的元素

    2. 使用该方法会影响到原数组,会将指定元素从原数组中删除

    3. 返回被删除元素

    4. 参数:

      1. 参数1:表示开始位置的索引(含)

      2. 参数2:表示删除的数量

      3. 参数3至参数n:可以传递一些新的元素,这些元素将会自动插入到开始位置索引的前边

    5. 注意:

      1. 当删除数量为0时,相当于插入元素

      2. 参数3及之后的参数可省略

  2. concat()方法

    1. 可以连接两个或者多个数组,元素也可以拼接

    2. 返回新数组

    3. 该方法不会对原数组造成影响

// 例子
var result1 = arr1.concat(arr2)
var result2 = arr1.concat(arr2, arr3, 元素1, ...)

 

arr = [5, 4, 2, 1, 3, 6, 8, 7];
arr.sort(function(a, b){
    if(a>b){
	    return 1;
    }else if(a<b){
	    return -1;
    }else{
	    return 0;
    }
})
console.log(arr) //1,2,3,4,5,6,7,8

// 上面代码简写
arr.sort(function(a, b){
    // 升序
    return a - b
    // // 降序
    // return b -a
})

 

  1. join()方法

    1. 该方法可以将数组转换为一个字符串,默认是以逗号来连接元素

    2. 返回转换成的字符串

    3. 该方法不会对原数组产生影响

    4. 参数:

      1. 可以指定一个字符串作为参数,这个字符串是元素之间的连接符

      2. 不指定该参数,则默认以逗号来连接

  2. reverse()方法

    1. 将数组反转

    2. 会对原数组造成影响,直接在原数组上操作

  3. sort()方法

    1. 可以用来对数组中的元素进行排序

    2. 默认以Unicode编码进行排序,即使是纯数字也是如此

    3. 会影响原数组

    4. 参数:

      1. 添加一个回调函数来指定排序的方式

        1. 回调函数有两个形参

          1. 浏览器会自动把数组中的两个元素作为两个实参传入回调函数

          2. 不能确定是哪两个元素,但可以确定在数组中a一定在b前边

        2. 浏览器会根据回调函数的返回值来决定元素的顺序

          1. 如果返回一个大于0的值,则元素会交换位置

          2. 如果返回一个等于0的值,则认为两元素相等,且不交换位置

          3. 如果返回一个小于0的值,则元素的位置不变

        3. 简而言之:

          1. 需要升序,返回a-b

          2. 需要降序,返回b-a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值