js中的Array数组

2019-09-30  本文已影响0人  jadefan

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() 将数组元素计算为一个值(从右到左)。

上一篇 下一篇

猜你喜欢

热点阅读