文章目录
数组
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() 方法
- 作用: 可以将字符串按照特定的标记拆分并转为数组
- 参数表: 目标字符
- 示例