javaScript 的 splice和slice,map和forEach、 filter()、reduce()的区别

news/2024/7/5 10:34:50

map和forEach 

  •    参数:都是(当前值,当前对应的index,当前调用的array)
  •    可以不写全

map

  • 根据每个元素的转换,组成新数组
  • 原数组不变
  • 返回新数组

 

注意一个笔试题:参考回调函数

["1", "2", "3"].map(parseInt); //结果 [1, NaN, NaN]

forEach

  • 通过回调函数,对每个元素进行一些操作
  • 没有返回值,undefined
  • 性能很差,远远不如直接用for,通过index访问每个元素

 

filter 和reduce

 

filter

  • 通过return的true/false,过滤数组元素
  • true: 保留
  • false: 删除
  • 最终返回一个新的数组,不会修改原数组

reduce

  • 多一个参数 ,一共四个
  • prevalue:第一个参数,上一个元素返回的return
  • 后面三个参数和其他的一样
  • 最终返回一个单独的值

splice 和 slice

splice(拼接)

  • 用来删除+添加
  • index:楷开始删除的index
  • num: 删除的个数(0则不删除)
  • 要添加的item,用逗号相隔;添加到index的位置上,
  • 修改原数组,返回被删除的元素构成的数组

slice (切片)

  • 用来返回特定的元素
  • start: 开始index(负数则从尾部算起,-1表示倒数第一个)(不写则从头开始到结尾)
  • end:结束的index (不写,则默认到结尾)
  • 返回一个新的数组,不修改原数组

 

 

 

转自: https://www.wolai.com/mary/4d3HuSKg2c4K3CHnDDWkYt

 

 

 


http://www.niftyadmin.cn/n/3655767.html

相关文章

.net精简框架集下的ini文件读取(C#)

无论是.net框架集还是.net精简框架集都能非常完美的支持XML文件,并且微软也强烈建议用xml文件取代ini文件,但是在工控领域大部分的工程都是采用ini文件配置的系统信息的。以前的隧道管理系统是采用ini文件配置信息的,为了实现兼容&#xff0c…

什么事堆?什么是栈? 它们之间有什么区别和联系

堆和栈的概念存在于数据结构中和操作系统内存中。 在数据结构中,栈中数据的存取方式为先进后出。 堆是一个优先队列,是按优先级来进行排序的,优先级可以按照大小来规定。完全二叉树是堆的一种实现方式。 在操作系统中,内存被分…

也谈正则表达式

其实很早就知道了正则表达式,在集成VBScript脚本的时候,就看到了该功能,不过那时觉得很难,觉得也派不上什么用场,所以也没有过多关注。最近看了孟岩老师的关于正则表达式讲解,有一种学习正则表达式的冲动&a…

内部属性[[class]]是什么?

所有的 typeof 返回值为 “object” 的对象(如数组)都包含一个内部属性 [[class]] (我们可以把它看作一个内部的分类),而非传统的面向对象意义上的类)。 这个属性无法直接被访问,一般通过 object。prototype。toStrin…

WinCE5.0平台下的Moxa DA66x设备应用开发心得

最近金日隧道广告系统的通信系统要升级,用Moxa的DA66x设备取代原先的Moxa5630通信模块,由于DA66x内嵌了WinCE5.0系统,系统的功能可以有很大的发挥余地。DA66x这款产品功能很强,可以说WinCE5.0在工业通信领域被用到了极致&#xff…

介绍 js 有哪些内置对象?

涉及的知识点 js 中的内置对象主要指的是在程序执行前存在全局作用域里的由 js 定义的一些全局值属性、函数和用来实例化其他对象的构造函 数对象。一般我们经常用到的如全局变量值 NaN、undefined,全局函数如 parseInt()、parseFloat() 用来实例化对象的构 造函数…

Windows Vista不兼容VS2005(需打补丁)

在Windows Vista平台上直接安装VS2005,没有想到安装程序直接就提示Vista与VS2005存在已知的兼容问题,看来需要打SP1补丁(该补丁虽然下载了,但是在XP安装巨慢,不知道在vista上品行如何),此外SQL Server 2005…

解构赋值笔记

数组的解构赋值 let arr [1,2,3,4,5] let [item1,item2] arr console.log(item1,item2) // 1,2 数据2之后的345被垃圾回收机制回收 let [item1, item2,...list] arr console.log(list) // 3,4,5 利用... 把其他的数据赋值到list上 ""..."" 用于取出…