iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >JavaScript数组常见操作技巧有哪些
  • 866
分享到

JavaScript数组常见操作技巧有哪些

2023-06-29 02:06:07 866人浏览 泡泡鱼
摘要

这篇文章主要介绍“javascript数组常见操作技巧有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript数组常见操作技巧有哪些”文章能帮助大家解决问题。一、创建数组创建数组是基

这篇文章主要介绍“javascript数组常见操作技巧有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript数组常见操作技巧有哪些”文章能帮助大家解决问题。

一、创建数组

创建数组是基本功,其方法主要包括以下几种:

const arr = [1,2,3]                   // 数组字面量const arr = [,,,]                     // 三元素空位数组(hole array)const arr = new Array(4)              // [,,,,]const arr = new Array(4,2)            // [4,2]const arr = Array.of(1,2,3)           // [1,2,3]

其中,我们一般最常用的是数组字面量法。

二、判断是不是数组

判断是不是数组的方法主要有:

// 方法一[1,2,3] instanceof Array   // 方法二[1,2,3].constructor === Array// 方法三Object.prototype.toString.call([1,2,3]) === '[object Array]'// 方法四Array.isArray([1,2,3])// 方法五(兼容写法)function isArray(arr){    return Array.isArray ?         Array.isArray(arr):Object.prototype.toString.call(arr) === '[object Array]'}

一般最常用的应该是 isArray 方法。

三、类数组和数组的转换

我们有时碰到的数据结构不是纯数组,一般将其归类为“类数组”,类数组可以借助以下方法转为纯数组:

const x = document.querySelectorAll('a');// 方法一Array.prototype.slice.call(x);// 方法二Array.from(x);Array.from(x,mapFn,thisArg);// 方法三[...x]// 方法四function toArray(x){    let res = []    for(item of x){        res.push(item)    }    return res}// 方法五Array.apply(null,x)// 方法六[].concat.apply([],x)

方法五和六本质上都是利用了 apply 的特点,即传给 apply 的第二个参数(数组或者类数组)会被转换为一个参数列表,这些参数再送到调用的方法(new Array 或者 concat)中。

四、数组去重

数组去重,本质上都需要比较两个元素是否相等,如果相等,则抛弃一个元素。为了准确地判断,这里统一使用 Object.is 进行比较。

1.利用 set 去重

set 要求元素不重复,因此将数组转换为 set 之后就可以去重了,接着再转换回数组即可。

function unique(arr){    return Array.from(new Set(arr))    // return [...new Set(arr)]}

2.双重循环 + splice

外层循环遍历所有元素,里层循环遍历当前元素往后的所有元素,若发现相等则利用 splice 移除掉一个。记得里层循环每次要回退一格,否则会遗漏掉某些元素

function unique(arr){    for(let i = 0;i < arr.length;i++){        for(let j = i + 1;i < arr.length;j++){            if(Object.is(arr[i],arr[j])){                arr.splice(j,1)                j--            }        }    }    return arr}

3.新建数组 + includes

新建数组,每次往数组中添加元素之前都检查数组中是否已有该元素:

function unique(arr){    const res = []    arr.forEach((item,index) => {        // 也可以 if(res.indexOf(item) == -1),但是无法正确判断 NaN        if(!res,includes(item)){            res.push(item)        }    })}

4.reduce + includes

function unique(arr){    return arr.reduce((acc,cur) => {        // return acc.includes(cur) ? acc : acc.concat(cur)        return acc.includes(cur) ? acc : [...acc,cur]    },[])}

5.新建数组 + sort

根据 sort 的机制(在每个元素上调用 toStrng,之后在字符串层面进行排序),让相等的元素聚集在一起。新建数组,每次往数组中添加元素之前都检查该元素是否等于前面的元素,是则属于重复元素:

function unique(arr){    arr.sort()    const res = [arr[0]]    for(let i = 1;i < arr.length;i++){        if(!Object.is(arr[i],arr[i-1])){            res.push(arr[i])        }    }    return res}

6.新建数组 + 利用对象属性

这种方法其实和“新建数组 + includes”一样。新建数组,每次往数组中添加元素之前都检查该元素是否已经作为对象的属性:

// 对象属性值可以认为是元素重复的次数function unique(arr){    const res = []    const obj = {}    arr.forEach((item,index) => {        if(!obj[item]){            res.push(item)            obj[item] = 1        } else {            obj[item]++        }    })    return res}

这里检测的是对象的属性名,而属性名本质上是一个字符串,因此会认为 obj[true] 和 obj["true"] 是相等的,从而导致元素 true 或者元素 "true" 未能放入新数组中

7.利用 map

本质上和上面的方法是一样的,但是不需要新建数组:

function unique(arr){    let map = new Map()    for(item of arr){        if(!map.has(item)){            map.set(item,true)        }    }    return [...map.keys()]}

8.filter + indexOf

去掉重复的元素,换个角度来理解就是保留那些 索引 等于 第一次出现时的索引 的元素,这样的元素可以用 filter 筛选出来,放到一个数组中:

function unique(arr){    return arr.filter((item,index) => index === arr.indexOf(item))}

使用 indexOf 的缺点是无法正确判断 NaN。

关于“JavaScript数组常见操作技巧有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: JavaScript数组常见操作技巧有哪些

本文链接: https://www.lsjlt.com/news/321960.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript数组常见操作技巧有哪些
    这篇文章主要介绍“JavaScript数组常见操作技巧有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript数组常见操作技巧有哪些”文章能帮助大家解决问题。一、创建数组创建数组是基...
    99+
    2023-06-29
  • JavaScript数组常见操作技巧
    目录一、创建数组二、判断是不是数组三、类数组和数组的转换四、数组去重1.利用 set 去重2.双重循环 + splice3.新建数组 + includes4.reduce + inc...
    99+
    2024-04-02
  • JavaScript数组常见操作技巧(二)
    目录一、出数组中的重复元素或非重复元素二、数组扁平化 / 数组降维二维数组:双重循环二维数组:循环 + concat二维数组:reduce + concat二维数组:展开 / app...
    99+
    2024-04-02
  • JavaScript数组常见操作有哪些
    这篇文章主要为大家展示了“JavaScript数组常见操作有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript数组常见操作有哪些”这篇文章吧...
    99+
    2024-04-02
  • JavaScript数组操作技巧有哪些
    这篇“JavaScript数组操作技巧有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JavaScript数组操作技巧有...
    99+
    2023-06-27
  • JavaScript中数组常见的操作技巧分享
    这篇文章主要讲解了“JavaScript中数组常见的操作技巧分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中数组常见的操作技巧分享”...
    99+
    2024-04-02
  • PHP数组常见操作技巧大揭秘
    PHP是一种常用的服务器端脚本语言,被广泛用于开发Web应用程序。在PHP中,数组是一种非常常见且重要的数据类型,经常用于存储和操作一组数据。本文将揭秘PHP数组常见操作技巧,通过具体...
    99+
    2024-03-14
    技巧 php 数组操作
  • Python数组操作有哪些高级技巧?
    Python是一种功能强大的编程语言,广泛应用于数据科学和机器学习领域。在Python中,数组是一种常见的数据结构,它可以存储多个元素,并且可以进行各种操作。本文将介绍Python数组操作中的一些高级技巧。 使用numpy库 Numpy...
    99+
    2023-10-17
    数组 laravel spring
  • Python中最常见的文件操作技巧有哪些
    本篇内容介绍了“Python中最常见的文件操作技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!打开&关闭文件读取或写入文件前...
    99+
    2023-06-16
  • PHP中常见的数组操作有哪些?
    PHP是一种广泛使用的服务器端编程语言,也是互联网应用开发中非常重要的一部分。在PHP中,数组是一种非常常见的数据类型,它可以用于存储和操作一组相关的数据。在本文中,我们将介绍PHP中常见的数组操作,希望对PHP开发者有所帮助。创建数组在P...
    99+
    2023-05-22
    PHP数组操作 常见数组操作 PHP数组方法
  • JavaScript使用数组技巧有哪些
    这篇文章主要为大家展示了“JavaScript使用数组技巧有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript使用数组技巧有哪些”这篇文章吧。数组是Javascript最常见...
    99+
    2023-06-21
  • CSS常见的技巧有哪些
    本篇内容主要讲解“CSS常见的技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS常见的技巧有哪些”吧!如何清除图片下方出现几像素的空白间隙? 代码如下:方法1: img{displa...
    99+
    2023-06-08
  • .Net Framework数组的相关操作技巧有哪些
    本篇内容主要讲解“.Net Framework数组的相关操作技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“.Net Framework数组的相关操作技巧有哪些”吧!.Net Frame...
    99+
    2023-06-17
  • PHP和Bash中的数组操作技巧有哪些?
    PHP和Bash都是常用的编程语言,而数组是它们中最常用的数据结构之一。在这篇文章中,我们将讨论PHP和Bash中的数组操作技巧。 一、PHP中的数组操作技巧 创建数组 在PHP中,可以使用array()函数创建一个数组。例如: $my...
    99+
    2023-06-14
    bash 数组 ide
  • 常用的javascript数组操作方法有哪些
    这篇文章主要介绍“常用的javascript数组操作方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“常用的javascript数组操作方法有哪些”文章能帮助...
    99+
    2024-04-02
  • JavaScript中有哪些常见的遍历操作
    JavaScript中有哪些常见的遍历操作,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。for循环var a =&nb...
    99+
    2024-04-02
  • JavaScript数组精简技巧都有哪些
    今天就跟大家聊聊有关JavaScript数组精简技巧都有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。数组是 JS 很常见的一种数据结构,咱们在...
    99+
    2024-04-02
  • MySQL数据库常用操作和技巧有哪些呢
    今天就跟大家聊聊有关MySQL数据库常用操作和技巧有哪些呢,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。MySQL数据库可以说是DBA们最常见和常用...
    99+
    2024-04-02
  • JavaScript字符串处理常见操作有哪些
    这篇文章给大家分享的是有关JavaScript字符串处理常见操作有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、字符串合并操作:“ + ”var iNum01&...
    99+
    2024-04-02
  • 常用JavaScript小技巧有哪些
    这篇文章主要介绍“常用JavaScript小技巧有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“常用JavaScript小技巧有哪些”文章能帮助大家解决问题。1.通过条件判断向对象添加属性con...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作