不改变原数组的方法
  1. concat() 连接两个或多个数组,不改变现有数组,返回新数组,添加的是数组中的元素
  2. join(",") 把数组中的所有元素放入一个字符串,通过‘,’分隔符进行分隔,返回字符串
  3. slice(start,end) 从已有的数组中返回选定的元素,从start开始选取, (若是负数,从尾部开始算起的位置:-2指倒数第二个元素)到end(不包括该元素),该方法不修改数组,返回一个字数组
  4. map(function(currentValue,index,arr),thisValue) 按照原始数组元素顺序依次处理元素,返回新数组,数组中的元素是原数组元素调用函数处理后的值,不会检测空数组,不改变原数组。currentValue (必须,当前元素的值)index(可选,索引值)arr(可选,当前元素属于数组对象),thisValue(可选,执行回调时使用,传递给函数(this))
  5. forEach()  调用数组的每个元素,并将元素传递给回调函数,空数组不执行回调函数,参数同上
  6. filter()  创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,不对空数组检测,不改变原数组,参数同上
  7. some() 检测数组中的元素是否满足指定条件(函数提供),依次执行数组的每个元素,如果有一个满足,返回true,剩余元素不再执行检测,如果没有满足条件的元素返回false(不检测空数组,不改变原数组)参数同上
  8. every() 检测数组所有元素是否都符合指定条件(函数提供),使用指定函数检测数组中的所有元素,如果有一个元素不满足返回false剩余不再检测,如果所有都满足,返回true(不检测空数组,不改变原数组)参数同上
其他
  1. indexOf(item,start) 返回数组中某个指定的元素位置,该方法将从头到尾检索数组,看是否含有对应元素,在start(可选)开始检索(或从头没有start),如果找到一个item(必须) 返回item的第一次出现的位置。开始位置索引是0,没找到返回-1  (若想查找字符串最后出现的位置用lastIndexOf()方法。
  2. includes(searchElement,fromIndex) 用来判断一个数组是否包含一个指定的值,是 返回true,否 返回false
      searchElement (必须)需要查找的元素值,fromIndex(可选),开始查找的索引

JS 数组的常用方法归纳之不改变原数组和其他的更多相关文章

  1. js 数组的常用方法归纳

    数组的常用方法归纳 slice(start,end) 传参:start代表从哪里开始截取,end代表截取结束的地方 var a = [1,2,3]a.slice(1);//[2,3] pop() 可以 ...

  2. js操作改变原数组的解决方法

    最近在开发的时候发现js中的循环操作会改变原数组,var一个变量承接也不行 甚至连map方法都会改变原数组,下面是解决方法 let a = ['a','b','c'] let b = [[2, 0, ...

  3. js数组方法 改变原数组和不改变原数组的方法整理

    改变原数组: pop():   删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值.如果数组已经为空,则 pop() 不 改变数组,并返回 undefined 值 ...

  4. JS在不改变原数组的情况下复制一个新的数组

    var a={1,2,3,4} var data= JSON.parse(JSON.stringify(a[0])) a.push(data) a[4]=5 这样就不会改变原数组a的数据

  5. bit-map牛刀小试:数组test[X]的值所有在区间[1, 8000]中, 现要输出test中反复的数。要求:1. 不能改变原数组; 2.时间复杂度为O(X);3.除test外空间不超过1KB

    先来看看这个题目:数组test[X]的值所有在区间[1, 8000]中. 现要输出test中反复的数.要求:1. 不能改变原数组; 2.时间复杂度为O(X);3.除test外空间不超过1KB. 好, ...

  6. JavaScript Array返回值以及是否改变原数组。

    1.        push:最后一位新增://改变原数组         arr.push("123");         返回值是数组的长度:         var b =  ...

  7. Java方法调用数组,是否改变原数组元素的总结

    Java方法调用数组,是否改变原数组元素的总结 //个人理解, 欢迎吐槽 注意String是引用型变量, 我的理解也就是指向型, 指向一个数据或变量, 画图理解最容易, string 指向的 数据的值 ...

  8. JS 数组的常用方法详解归纳之改变原数组方法

    shift() 把数组的第一个元素从其中删除,并返回第一个元素的值, 如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值.请注意,该方法不创建新数组,而是直接修改 ...

  9. 合并数组,改变原数组apply与不改变原数组

    一看见合并数组,可能第一反应就是concat,concat确实具有我们想要的行为,但它实际上并不附加到现有数组,而是创建并返回一个新数组. 同样你也许会想到ES6的扩展运算符...         但 ...

随机推荐

  1. 005-sort 命令使用

    字符处理命令 sort 排序命令 排序选项: -f, --ignore-case 忽略字母大小写 -n, --numeric-sort 根据字符串数值比较 -r, --reverse 逆序输出排序结果 ...

  2. 2019 计蒜之道 初赛 第二场 A 百度AI小课堂-矩阵问题 ( 等差数列求和公式)

    题目背景 ​91029102 年 99 月 11 日,百度在 X 市 XX 中学举办了一场 AI 知识小课堂,本场 AI 知识小课堂老师教授了一些矩阵的相关知识,因为矩阵在 AI 人工智能中也有相当的 ...

  3. Python核心技术与实战——九|面向对象

    在搞清了各种数据类型.赋值判断.循环以后如果是从C++.Java语言入手的,就会有一个深坑要过:OOP(object oriented programming):公私有保护.多重继承.多态派生.纯函数 ...

  4. ASP.NET Core 基础知识(一) ASP.NET Core是什么?与.NET Framework、Mono之间的关系 ?

    一.概念: ASP.NET Core 是一个开源的.跨平台的 .NET 实现.而 .NET Framework 是基于 Windows 的 .NET 实现,Mono 是 .NET Framework ...

  5. Ubuntu 16.04 安装摄像头驱动usb_cam

    !!需要在ROS平台上安装   ROS见 https://www.cnblogs.com/haijian/p/8782560.html cd ~/catkin_ws/src 下载usb_cam包 gi ...

  6. jquery编写插件(转)

    教你开发jQuery插件(转)   阅读目录 基本方法 支持链式调用 让插件接收参数 面向对象的插件开发 关于命名空间 关于变量定义及命名 压缩的好处 工具 GitHub Service Hook 原 ...

  7. vs code添加到鼠标右键

    首先在页面上新建个文本文件,然后改名和后缀为 add.reg 然后把下面的代码放到里面去,修改路径,然后直接运行就可以了 (路径就是vscode安装的目录) Windows Registry Edit ...

  8. SonarQube规则之坏味道类型

    1.Abbreviation As Word In Name (默认 关闭)坏味道 主要检查验证标识符名称中的缩写(连续大写字母)长度,还允许执行骆驼案例命名allowedAbbreviationLe ...

  9. Linux的学习:

    查看端口: netstat -anop | grep 80 netstat -ntlp 先看看不带n的 再看看带n的 我们发现在local address 即主机地址这一栏中,如果没有带n选项,会将套 ...

  10. SpringBoot搭建基于Spring+SpringMvc+Mybatis的REST服务

    Maven Plugin管理 通常,让你的Maven POM文件继承 spring-boot-starter-parent,并声明一个或多个 Starter POMs依赖即可. spring-boot ...