不改变原数组的方法
  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. python 写matlab中的加性高斯白噪声AWGN

    定义 原始信号:x 噪声信号:n 信噪比:SNR 信号长度:N def wgn(x, snr): snr = 10**(snr/10.0) xpower = np.sum(x**2)/len(x) n ...

  2. Codeforces 935 简单几何求圆心 DP快速幂求与逆元

    A #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #def ...

  3. MySQL高可用集群方案

    一.Mysql高可用解决方案 方案一:共享存储 一般共享存储采用比较多的是 SAN/NAS 方案. 方案二:操作系统实时数据块复制 这个方案的典型场景是 DRBD,DRBD架构(MySQL+DRBD+ ...

  4. Python之常用模块一(主要RE和collections)

    一.认识模块  什么是模块:一个模块就是一个包含了python定义和声明的文件,文件名就是加上.py的后缀,但其实import加载的模块分为四个通用类别 : 1.使用python编写的代码(.py文件 ...

  5. java课堂测试2

    //信1605-2 20163428 刘宏琦import java.util.*;public class Number { /** * @param args */ public void pand ...

  6. Vux的安装使用

    1.Vux的安装 1.1.vue-cli的vux模板生成项目 可以直接使用 vue-cli 的模板生成一个 vux 项目 vue init airyland/vux2 projectName 由此可以 ...

  7. Knapsack Cryptosystem

    Knapsack Cryptosystem 超大背包 折半查找 #include<bits/stdc++.h> using namespace std; typedef long long ...

  8. 阿里云CentOS 7.3安装Redis详细步骤

    ############  准备  ############### 从Redis官网下载Linux redis3.2.6版本,我下载的redis-3.2.6.tar.gz(目前最新稳定版),下载到/u ...

  9. 使用ajax异步下载文件,后端为struts2

    前端采用伪表单: 然后调用 后台代码为 效果图:

  10. PHP 几种常用框架的区别

    工作中使用的是TP框架,在工作之余接触了一下Yii框架和Laravel框架,为了更好的了解几种框架,此处总结一下几种框架各自的优势及缺点. 一.CI框架 CI框架是一个简单快速的PHP MVC轻量级框 ...