JS笔记 ( 十六 ) 数组和数组的方法


 
 

数组

1. 数组的定义

  • 数组的定义有两种方法

(1) new Array(length/content)

参数是一位时, 这个参数就代表定义的数组的长度
参数大于一位时, 这些参数就成为数组的成员
如下所示
在这里插入图片描述

(2) 字面量定义

直接定义数组, 不调用构造函数
在这里插入图片描述
 

2. 数组的读和写

(1) 不可溢出读

  • 语法: arr[num]
  • 备注: 当读取大于数组长度的数组位时, 返回 undefined
  • 示例:
    数组只有 3 位, 读取其第 5 位时, 返回 undefined
    在这里插入图片描述
     

(2) 可溢出写

  • 语法: arr[num] = newvalue;
  • 备注: 当对大于数组长度的数组位进行赋值时, 可以对其赋值并增长数组长度
  • 示例
    当超出数组多位, 并对该位进行赋值时, 原数组末位到该位间的值都是 undefined
    在这里插入图片描述
     

3. 数组常用的一些方法

  • 使用后会改变原数组的方法
    push(), pop(), shift(), unshift(), sort(), reverse(), splice()

  • 不改变原数组的方法
    contact(), join(), split(), toString(), slice()

(1) push() 方法

  • 作用: 向数组内增加成员的方法, 并返回最终的数组长度, 新增成员是在数组末位依次加入
  • 参数表: 可以添加多位成员
  • 示例
    在这里插入图片描述

(2) pop() 方法

  • 作用: 从数组中剪切最后一位, 并将这位的值进行返回, 剪切后原数组长度减一
  • 示例
    剪切后数组从两位成员转变成了一位
    在这里插入图片描述
  • 备注:
    (1) 可以用该方法直接剪切数组最后一位, 不需要用变量接收返回值, 从而达到删除数组最后一位的效果
    (2) pop() 方法中添加参数是没有任何意义的, 并不会改变任何操作, 依旧是只会删除最后一位
     

(3) shift() 和 unshift() 方法

  • 作用:
    (1) shifit 方法可以从数组首位剪切, 并将其数值返回 ( 和 pop 方法相反 )
    (2) unshift 方法可以在数组首位之前插入新的数组成员, 返回值是新数组长度 ( 和 push 方法相反 )

  • 示例
    在这里插入图片描述

(4) reverse() 方法

  • 作用: 将数组成员的排序顺序进行逆反, 返回值是逆序后的新数组
  • 示例
    在这里插入图片描述

(5) splice() 方法

  • 作用: 将数组阶段并可以从阶段出增加新数组的方法, 返回值是截断的数组位
  • 参数表: ( 从数组第几位开始, 截取多少位的位数, 在截断处增加的新成员… )
  • 示例
    (1) 从数组的 1 号位开始, 截断 2 位, 不增加成员
    在这里插入图片描述
    (2) 从数组的 1 号位开始, 截断 1 位, 并从截断处拼接入 3 位新成员
    在这里插入图片描述
    (3) 从数组的 0 号位开始, 截取 0 位, 并在开始处插入 1 位新成员
    在这里插入图片描述

(6) sort() 方法

  • 作用: 将数组成员从小到大进行排序
  • 备注: 但原生的 sort 排序的一句是 ASCII 码排序, 并按照数字大小排序, 因此可以排序字符
  • 参数表: sort 方法提供了方法接口, 可以自定义规则通过自定义方法, 在参数中写入自定义方法即可
arr.sort(function(a,b){//TODO..})
  • 自定义方法的步骤:
    (1) 方法必须写两个形参
    (2) 看返回值进行排序 ( 左边为前面, 右边为后面 )
    当返回值为负数时, 前面的数字放在前面, 相当于不变
    当返回值为正数时, 后面的数字放在前面
    当返回值为 0 时, 两个数的位置保持原位, 相当于不变
    (3) 传参的顺序和冒泡排序相同
数字升序排序
arr.sort(function(a,b){
	return a - b;
});

降序则 b - a 即可

(7) contact() 方法

  • 作用: 将两个数组进行拼接, 并返回新数组, 调用数组在前, 参数数组在后
  • 参数表: 放入拼接在目标数组后面的数组
  • 示例
    在这里插入图片描述

(8) slice() 方法

  • 作用: 从某位开始截取数组并到某位结束
  • 参数表: ( 从该位开始截取, 截取到该位结束 ), 若只写 1 位参数, 则从该位截取到最后一位
  • 示例
    从第 0 位截取到第 1 位
    在这里插入图片描述

(9) join() 方法

  • 作用: 传入字符串参数, 并将数组输出, 每位成员间用传入的参数相连
  • 参数表: 字符变量, 默认字符是 ‘,’ 即英文逗号
  • 示例
    在这里插入图片描述

(10) 字符串的 split() 方法

  • 作用: 可以将字符串按照特定的标记拆分并转为数组
  • 参数表: 目标字符
  • 示例
    在这里插入图片描述
发布了45 篇原创文章 · 获赞 0 · 访问量 1115

猜你喜欢

转载自blog.csdn.net/leon9dragon/article/details/104027361