JavaScript数组常见操作技巧有哪些
导读:本文共2684字符,通常情况下阅读需要9分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 一、创建数组创建数组是基本功,其方法主要包括以下几种:constarr=[1,2,3]//数组字面量constarr=[,,,]//三元素空位数组(holearray)constarr=newArray(4)//[,,,,]constarr=newArray(4,2)//[4,2]constarr=Array.of(1,2,3)//[1,2,3]其中,我... ...
目录
(为您整理了一些要点),点击可以直达。创建数组是基本功,其方法主要包括以下几种:
其中,我们一般最常用的是数组字面量法。
判断是不是数组的方法主要有:
一般最常用的应该是 isArray
方法。
我们有时碰到的数据结构不是纯数组,一般将其归类为“类数组”,类数组可以借助以下方法转为纯数组:
方法五和六本质上都是利用了 apply
的特点,即传给 apply 的第二个参数(数组或者类数组)会被转换为一个参数列表,这些参数再送到调用的方法(new Array 或者 concat)中。
数组去重,本质上都需要比较两个元素是否相等,如果相等,则抛弃一个元素。为了准确地判断,这里统一使用 Object.is
进行比较。
set
要求元素不重复,因此将数组转换为 set 之后就可以去重了,接着再转换回数组即可。
外层循环遍历所有元素,里层循环遍历当前元素往后的所有元素,若发现相等则利用 splice 移除掉一个。记得里层循环每次要回退一格,否则会遗漏掉某些元素
新建数组,每次往数组中添加元素之前都检查数组中是否已有该元素:
根据 sort
的机制(在每个元素上调用 toStrng,之后在字符串层面进行排序),让相等的元素聚集在一起。新建数组,每次往数组中添加元素之前都检查该元素是否等于前面的元素,是则属于重复元素:
这种方法其实和“新建数组 + includes”
一样。新建数组,每次往数组中添加元素之前都检查该元素是否已经作为对象的属性:
这里检测的是对象的属性名,而属性名本质上是一个字符串,因此会认为 obj[true] 和 obj["true"] 是相等的,从而导致元素 true
或者元素 "true" 未能放入新数组中
本质上和上面的方法是一样的,但是不需要新建数组:
去掉重复的元素,换个角度来理解就是保留那些 索引 等于 第一次出现时的索引 的元素,这样的元素可以用 filter
筛选出来,放到一个数组中:
使用 indexOf
的缺点是无法正确判断 NaN。
JavaScript数组常见操作技巧有哪些的详细内容,希望对您有所帮助,信息来源于网络。