数组方法总结
join : 数组转字符串, 返回字符串
arrayObject.join( separator );
参数:
separator( 分离器 ):
- 可以省略, 省略就是使用" , "进行分割
- 传入字符串, 用这个字符串进行分割
功能:
- 数组转字符串, 将数组中的每个元素转为字符串,
- 在数组的每两项中插入 separator, 最后将此字符串连接起来
var array = [1, 2, 3];
var res1 = array.join(); // '1,2,3'
var res2 = array.join('|'); // '1|2|3'
concat : 合并数组, 返回新数组
arrayObject.concat( array1, array2, array3, ... );
参数:
arrayX( 数组 )
- 可以是数组对象, 可以是具体值
- 任意多个
功能:
- 合并数组
- 将参数添加到新数组中
- 返回新数组
// 一个数组, 多个值
var a = [1,2,3];
a.concat( 4, 5 );
// 两个数组
var b = [2,4,6];
var c = [8, 10, 12];
b.concat( c );
// 三个数组
var d = [1,2];
var e = [3,4];
var f = [5,6];
d.concat( e, f );
slice : 截取数组, 返回新数组
arrayObject.slice( start, end );
参数:
- start:
- 必须, 开始位置( 索引 )
- 如果是负数则从 array.length + index 开始计算, -1 指 最后一个元素, -2 指倒数第二个元素
- end: 可选, 结束位置( 索引 ), 不包括该元素
- 如果没有指定, 默认为从 start 位置到数组结束的所有元素
- 如果参数为负数, 那就从数组尾部开始计算
功能:
- 截取数组中的元素, 从 start 到 end, 不包括 end
- 不会修改原数组
- 返回新数组
var a = [1,2,3,4,5,6];
var b = a.slice(0); // b = [1,2,3,4,5,6];
var c = a.slice(2,4); // c = [3,4];
splice : 修改, 删除, 替换数组, 返回修改后的数组
arrayObject.splice( index, howmany, element1, ..., elementX);
参数:
- index:
- 必须, 从何处 添加/删除/修改 元素
- 是数组的索引, 必须为数字
- howmany:
- 必须, 规定删除个数
- 必须是数字, 可以是' 0 ', 代表不删除
- 如果没有规定该参数, 则从 index 开始, 删除到结尾的所有元素
- element1:
- 可选
- 添加到数组的新元素
- 从 index 所指的数组下标处添加
- elementX:
- 可选
- 添加到数组的若干新元素
功能:
- 删除数组
- 修改数组
- 替换数组
- 返回值是被修改的原数组
// 修改 index 为 1 的元素, 替换为 3
var a = [1,2,3,4,5];
a.splice( 1, 1, 3); // a = [1,3,3,4,5]
sort : 数组元素排列
arrayObject.sort( sortby )
参数:
- sortby
- 可选
- 规定排序方式
- 必须是函数
功能:
- 如果没有传参, 那么按照 Unicode 编码进行排序
- 函数传两个参数
* a > b , 返回一个 > 0 的值
* a = b , 返回 0
* a < b , 返回一个 < 0 的值
来自为知笔记(Wiz)