一 数组的操作方法
1 reverse() 反转数组 对原数组进行修改翻转 不会创建新的数组
2 join()
指定分隔符 把数组转换为字符串
生成新的字符串
字符串转数组 jion toString()
3 concat() 连接数组,
生成新数组
将数组添加到数组的末尾
不修改原数组生成新数组
只能打散一维数组,并不会打散数组中包含的数组
4 slice()
截取子数组
生成新数组
var a1 = [1,2,3,4,5,6,7]
0 1 2 3 4 5 6
-7 -6-5-4-3-2-1
生成新数组 不修改原数组
起始包含 终止不包含 slice(2,4)
slice(-2,-4)负数从右到左截取
var a1 = [12,34,45,67,89]
var a2= a1.slice(2,4)
a1 [12,34,45,67,89]
a2 [45,67]
a2=a1.slice(2) [45,67,89]
a2=a1.slice(2,10) [45,67,89]
a2=a1.slice(-4,-2) [34,45]
5 splice( arg1, arg2, arg3,...) 增加和删除数组
只有一个参数 从起始位置开始删除后面所有的元素 修改原数组 返回被删除元素
第一个参数为负数 则从右到左查找
第二个参数 被删除的元素的个数
为负数 按 0 处理
第三个及后面的所有参数 指要插入的元素 插入的元素插入到被删除元素的位置
6 数组删除
splice()
delete 删除元素本身 不删除空间,不改变数组大小
del() 只删除元素本身,不删除空间,不改变数组大小
三 数组的检测
typeof(a1)
Array.isArray(a1)
a1.constructor==Array
a1 intanceof Array
四 数组的toString()
所有对象都有
toString()
返回数组中的每个值的字符串形式 以逗号形式进行拼接
当作数组转字符串
扩展:
valueOf()
valueOf() 方法返回 Array 对象的原始值。
该原始值由 Array 对象派生的所有对象继承。
valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。
注意: valueOf() 方法不会改变原数组。
toLocalstring()
toLocaleString()方法可根据本地时间把Date对象转换为字符串,并返回结果。
五 数组的下标
var a1 = [1,2,3,4]
// a1[0] 0 下标
// 范围大于0 小于 2的32次幂-1
若下标是负数、浮点数、布尔型等 js自动将其转换为字符串
console.log(a1[true]); //undefined
console.log(a1[-2]); //undefined
console.log(a1[2.3]); //undefined
下标可以是不断递增的表达式
var a1 = []
for(var i = 0; i<10; i++){
a1[i++]=i
// a1[0]=1
// a1[2]=3
// a1[4]=5
}
console.log(a1);
六 排序
sort()
数组.sort(比较函数)
比较函数有两个参数 f1(a,b)
函数值判断返回值
返回值大于0 a放在b后面
返回值小于0 a放在b前面
返回值等于0 a b 不动