文章出自个人博客https://knightyun.github.io/2019/09/02/js-mutation-array,转载请申明。


在 JavaScript 中,存在大量对数组进行操作的方法,它们都有一个特点,就是关于此操作是否会修改原数组,并以此将数组方法分为变异数组方法非变异数组方法,例如 .pop() 方法便是删除数组的最后一个元素,而 .slice() 方法则是返回一个指定特征的新数组,并不会对原数组进行修改;能有效的区分这两类方法,有助于开发过程中方法选用,避免出现不必要的错误;

下面对一些常见的数组方法进行了整理分类:

非变异数组方法 变异数组方法
.join() .push()
.concat() .pop()
.slice() .shift()
.from() .reverse()
.map() .sort()
.filter() .splice()
.every() .fill()
.find()
.findIndex()
.flat()
.flatMap()
.forEach()
.includes()
.indexOf()
.lastIndexOf()
.reduce()
.reduceRight()
.some()
.toString()
.toLocalString()

可以看出改变原数组的变异数组方法只有少数几个,非变异的过多可能记不住,因此可以选择记少不记多的原则,记住那几个特殊的变异方法的,其余的便可归类于非变异的了;


技术文章推送 手机、电脑实用软件分享

JavaScript变异与非变异数组方法相关推荐

  1. JavaScript学习笔记:检测数组方法

    很多时候我们需要对JavaScript中数据类型( Function . String . Number . Undefined . Boolean 和 Object )做判断.在JavaScript ...

  2. javascript字典中添加数组_如何在JavaScript中使用数组方法:Mutator方法

    JavaScript中的数组由元素列表组成.JavaScript有许多有用的内置方法来处理数组.修改原始数组的方法称为mutator方法,返回新值或表示的方法称为accessor方法.在本教程中,我们 ...

  3. JavaScript 常用数组方法及使用技巧「数组的力量隐藏在数组方法中,必收藏」

    JavaScript 数组的力量隐藏在数组方法中. 没错!如果你只知道用数组,但是不知道数组的这些方法怎么用,那么你就不是真正的懂他. 正餐开始,来看看 JavaScript 中有哪些常用的数组方法! ...

  4. vue 操作数组的变异方法和非变异方法

    变异方法 (mutation method),顾名思义,会改变被这些方法调用的原始数组 push( ) pop( ) shift( ) unshift( ) splice( ) sort( ) rev ...

  5. foreach变异非变异_神经网络产生了一堆看起来很变异的新动物

    foreach变异非变异 一位名叫Aldo Cortesi的程序员创造了一种疯狂的算法:一种为不存在的动物绘制轮廓的算法. 其中一些看起来合理,而另一些看起来像来自Alex Garland 2018年 ...

  6. JavaScript 数组拼接打印_JavaScript 数组方法

    JavaScript 数组方法 JS 数组 JS 数组排序 JavaScript 数组的力量隐藏在数组方法中. 把数组转换为字符串 JavaScript 方法 toString() 把数组转换为数组值 ...

  7. JavaScript数组方法大全解

    0 前言 本文只讲解标准化方法,而不会讲解实验性方法,如at().groupBy().groupByMap()和toSource(). 数组中的部分方法需要提供区间范围begin/start和end, ...

  8. JavaScript数组方法大全(推荐)

    数组在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习,下面小编给大家整理了关于数组的操作方法,一起看看吧. 数组创建 JavaScript ...

  9. JavaScript常用数组方法

    JavaScript数组方法有以下这些: forEach() 方法对数组的每一个元素执行一次提供的函数. map() 方法创建一个新数组,其结果是该数组都执行一次函数,原函数保持不变. filter( ...

最新文章

  1. seq2seq编码器和解码器:TensorFlow实现
  2. 一个报文的路由器之旅_报文的交换和寻址转发
  3. 电脑边充电边用好吗_平板电脑充电推车厂家哪家好?
  4. SpringMVC Controller的返回类型
  5. 怎么做蒙特卡洛计算npv_PowerBI非标准日历下的同比环比计算,你知道怎么做吗?...
  6. iSCSI存储设备的udev绑定 以及iscsi重启卡住解决方法
  7. sorl6.0+jetty+mysql搭建solr服务
  8. sftp java测试连通性_如何使用知行EDI系统模拟连通性测试?
  9. linux apache配置_linux查看nginx、apache、php、php-fpm、mysql及配置项所在目录
  10. 前端学习-css(一)
  11. 人脸识别冤枉了98%的好人,伦敦警察局长:我很满意
  12. javascrip对表格的操作(三)
  13. Javascript:简单的表单验证更改样式
  14. Matter-JS Composites 混合材料 · 上
  15. 【图像提取】基于matlab PCA-CSIFT feature图像特征提取【含Matlab源码 1174期】
  16. postman post传输中文_Postman:Postman简介、安装、入门使用方法详细攻略
  17. 【Linux】linux查看GPU信息
  18. class类型重定义
  19. C语言六边形蜂巢数组,CSS 实现蜂巢/六边形图集
  20. 和平精英灵敏度分享码服务器没有响应,和平精英主播灵敏度

热门文章

  1. 【MSDN】正则表达式介绍
  2. python sqlite3使用详解
  3. 超经典的Android开源项目
  4. 虚拟机网卡无法启动获取ip地址
  5. MFC的模块状态:从AfxGetApp()和AFX_MANAGE_STATE()看MFC的模块状态
  6. pytorch学习笔记(7):RNN和LSTM实现分类和回归
  7. 最简单红米手机如何没root激活XPOSED框架
  8. EM算法极其推广---EM算法的收敛性
  9. Cloudflare推出域名注册服务:不赚利润只收取成本费
  10. Django基础-安装配置