数组
数组对象可以存储任何类型的数据,是一个有序的集合
属性:
arr.length
// arr.length 数组中数据的个数,可读可写
// [1] 清空数组 arr.length = 0;
// [2] 截取数组 arr.length = 比数组的实际个数少;
// [3] 稀疏数组 arr.length = 比数组中的实际个数多;
1. join()
说明
用于把数组转成字符串
返回值:字符串
参数
arr.join([连接符])
- 无参数
默认以逗号连接
let arr = ["张三","李四","王五"]
var a = arr.join();
// => "张三,李四,王五"
- 空字符串参数 “”
let arr = ["张三","李四","王五"]
var a = arr.join("");
// => "张三李四王五"
- 非空字符串参数
let arr = ["张三","李四","王五"]
var a = arr.join("#");
// => "张三#李四#王五"
2. push()
说明
向数组的最后一位添加一条或多条数据
改变原数组
返回值:新数组的长度
参数
要添加的数据,一条或多条;
如果是多条,每条之间用逗号隔开;
如: arr.puah('a', 'b', 'c')
示例
let arr = ["张三","李四","王五"]
var a = arr.push("赵六")
console.log(arr, a);
// ["张三", "李四", "王五", "赵六"] 4
3. unshift()
说明
向数组的第一项添加一条或多条数据
会改变原数组
参数、返回值 和 arr.push() 相同
示例
let arr = ["张三","李四","王五"]
var num = arr.unshift("小二")
console.log(arr, num);
// ["小二", "张三", "李四", "王五"] 4
4. pop()
说明
删除数组的最后一项
会改变原数组
无参
返回值:被删除的元素
示例
let arr = ["张三","李四","王五"]
var a = arr.pop()
console.log(arr, a);
// ["张三", "李四"] "王五"
5. shift()
说明
删除数组中的第一项
会改变原数组
无参
返回值:被删除的元素
6. concat()
说明
用于连接一个或多个数组
不会改变原数组
返回值:连接后的新数组
参数
-
无参
返回和自身相同的数组,但不是自身,相当于把原数组复制了一份(复制数组) -
数组 、 某个值
let arr_1 = ["aaa", "bbb", "ccc"];
let arr_2 = [100, 200, 300];
let arr = arr_1.concat(arr_2, "张三", "李四");
console.log(arr);
// ["aaa", "bbb", "ccc", 100, 200, 300, "张三", "李四"]
7. reverse()
说明
翻转数组
无参
无返回值
会改变原数组
示例
let arr = ["aaa", "bbb", "ccc"];
arr.reverse();
console.log(arr);
// ["ccc", "bbb", "aaa"]
8. splice()
说明
对数组进行添加数据或删除数据
会改变原数组
返回值:数组 (是由删除的数据组成,如果没有删除数据,返回值是一个空数组)
参数
arr.splice([ 开始位置, 删除个数, 添加项 ])
-
无参
不会改变原数组,返回值为空; -
一个参数(开始位置)
从指定位置开始,一直删除到最后,返回值是被删除的项组成的新数组;
let arr = ["aaa", "bbb", "ccc"];
var a = arr.splice(0);
console.log(arr);
// []
console.log(a);
// ["aaa", "bbb", "ccc"]
-
两个参数(开始位置,删除个数)
从指定位置开始,向后删除指定的个数; -
三个参数(开始位置,删除个数,添加项)
添加项的位置就是 ‘开始位置’ ,且添加项可以是0个,可以是多个,多条数据之间用逗号分隔;
返回值是被删除的项组成的新数组;
let arr = ["aaa", "bbb", "ccc"];
arr.splice(2, 0, '张三', '李四')
console.log(arr);
// ["aaa", "bbb", "张三", "李四", "ccc"]
9. indexOf()
说明
查询某个数据是否在数组中存在;
如果存在,返回数据在数组中第一次出现的下标;
如果不存在,返回-1