Array是js中极其常用的数组格式,属于object类型
它有很多方便使用的方法,今天我们来简单整理下
属性:
1.constructor 返回创建数组对象的原型函数。
2.length 设置或返回数组元素的个数。
3.prototype 允许你向数组对象添加属性或方法。
方法
尾部增删--可作为栈使用
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
pop() 删除数组的最后一个元素并返回删除的元素。
头部增删
unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
shift() 删除并返回数组的第一个元素。(配合push可作为队列使用)
重排序
reverse() 反转数组的元素顺序。
sort() 对数组的元素进行排序,会改变原数组。
sort()默认按照字符串顺序排列,即时全为数字,也会转为字符来排列。
想要按照数字排列,可通过自定义比较函数作为参数使用,例如:
var ary = [1, 2, 3, 4, 5, 11, 22, 33, 44, 55];
ary.sort();
console.log(ary); //[1, 11, 2, 22, 3, 33, 4, 44, 5, 55]
function compare(v2, v1) {
if (v2 > v1) return 1;
else if (v2 < v1) return -1;
else return 0;
}
ary.sort(compare);
console.log(ary); //[1, 2, 3, 4, 5, 11, 22, 33, 44, 55]
要注意下:compare比较函数的参数第一个为靠后的值,第二个是靠前的值
根据返回的值为正数、负数、0来判断排列的数据
上面代码为正序排列,修改返回值后可倒序排列
批量操作
concat() 连接两个或更多的数组,并返回新数组。
不管参数是一维还是多维数组,都会全部拆开合并到原数组中
slice() 基于当前数组的一项或多项创建新数组
一个参数时,返回从参数指定位置到结束位置的所有项
两个参数时,返回从参数指定位置到指定结束位置的所有项,但不包括结束位置那个
splice() 向数组的中部插入项,用法很多
删除:指定两个参数,参数1:位置开始,参数2:长度,删除
插入:指定三个参数,参数1:位置开始,参数2:给 0,参数3:插入项
替换:指定三个参数,参数1:位置开始,参数2:长度,参数3:替换项
位置查找
indexOf() 搜索数组中的元素,并返回它所在的位置。参数2为开始查找位置>
lastIndexOf() 搜索数组中的元素,并返回它最后出现的位置。参数同上
迭代方法
every() 检测数值元素的每个元素是否都符合条件。全符合才返回true
filter() 检测数值元素,并返回符合条件所有元素的数组。
forEach() 数组每个元素都执行一次回调函数。
map() 通过指定函数处理数组的每个元素,并返回处理后的数组。
some() 检测数组元素中是否有元素符合指定条件。
归并方法
reduce() 将数组元素计算为一个值(从左到右)。
reduceRight() 将数组元素计算为一个值(从右到左)。
网友评论