数组的遍历方法
1...for(var i=0;i<arr.length;i++){ }
------------------------------------------------------------
2...arr.forEach(function(val,index,arr){
console.log(val,index,arr) //第三个参数就是原数组可要可不要;
})
arr.forEach((val,index,arr)=>{
console.log(this,val,index,arr) //第三个参数就是原数组可要可不要;
},bind(123)) //this指向会变箭头函数;
------------------------------------------------------------
3...arr.map((val,index,arr)=>{
console.log(val,index,arr) //正常需要返回值,并且返回的新的一个数组;
}) 注意:一般需要有return 没有则相当于forEach;重新整理数据结构
------------------------------------------------------------
4...arr.filter((val,index,arr)=>{
return val.xxx==条件; //过滤不合格的元素;
})
-----------------------------------------------------------
5...arr.some((val,index,arr)=>{
//类似查找,数组某个元素符合则返回true
})
let arr = [1,2,3]
let newArry = arr.some((val,index,arr)=>{
return val==2
})
console.log(newArry) //true;
-----------------------------------------------------------
6...arr.every((val,index,arr)=>{
//数组每个元素符合则返回true
})
let arr = [1,3,5]
let newArry = arr.every((val,index,arr)=>{
return val%2==1
})
console.log(newArry) //true;
-----------------------------------------------------------
7...arr.reduce((prev,now,index,arr)=>{
return prev+now; //求数组的和、阶乘;第一个参数表示前一个,第二个表示当前
})
let arr = [1,2,3]
let sum = arr.reduce((prev,now,index,arr)=>{
return prev+now; //阶乘Math.pow(prev,now)输出
})
console.log(sum) //输出6;
------------------------------------------------
let arr = [2,2,3]
let sum = arr.reduce((prev,now,index,arr)=>{
return Math.pow(prev,now); //阶乘prev**now
})
console.log(sum) //输出64;
-----------------------------------------------------------
8...for(let val of arr){
//arr.keys() //数组下标
//arr.entries() //数组的某一项
}
let arr1=[1,2,3,4];
for(let a of arr1.keys()){
console.log(a) //结果:0,1,2,3遍历了数组arr的索引
}
--------------------------------------------------
let arr2=[1,2,3,4];
for(let a of arr2.values()){
console.log(a) //结果:1,2,3,4遍历了数组arr的值
}
-----------------------------------------------------------
扩展运算符:
...

let arr = [1,2,3]
let arr2 = [...arr] //es6
let arr3 = Array.form(arr) //es6
let arr4 = [].call(arr) //es5
--------------------------------------------------------------
Array.form:把类数组(获取一组元素、arguments)对象转成数组;如ul li;具备length属性的;
特别的json:
let json = {
0:"a",
1:"b",
2:"c",
length:3
}
let newArr2 = Array.form(json)
console.log(newArr2) //["a","b","c"]
特别的String:
let str = "stfssfg";
let arr1 = str.split("");//es5
console.log(arr1)
let arr2 = Array.form(str)
console.log(arr2)
--------------------------------------------------------------
Array.of();把一组值转成数组;
let arr = Array.of("xx1","xx2","xx3")
console.log(arr) //["xx1","xx2","xx3"]
--------------------------------------------------------------
arr.find() 查找找出第一个符合条件的数组成员;没找到返回undefined;
let arr = [1,10,20,200,90]; let newArr = arr.find((val,index,arr)=>{
return val>100;
})
console.log(arr) //200;
--------------------------------------------------------------
arr.findindex() 查找位置;没找到返回-1;
let arr = [1,10,20,200,90]; let newArr = arr.findindex((val,index,arr)=>{
return val>1000;
})
console.log(arr) //-1;
--------------------------------------------------------------
arr.fill(填充的东西,开始位置,结束位置)
let arr = new Arry(10);
arr.fill("默认值",1,5)
--------------------------------------------------------------
arr.includes() 判断数组里面是否包含这个值;
let arr = [1,2,3,4];
let arr1 = arr.includes(2);
cconsole.log(arr1) //true;布尔值

es5/6数组遍历以及常用的一些方法的更多相关文章

  1. 关于 ES5 & ES6 数组遍历的方法

    ES5 数组遍历方法 1.for 循环 , , , , ] ; i < arr.length; i++) { console.log(arr[i]) } 2.forEach , , , , ] ...

  2. js数组遍历的常用的几种方法以及差异和性能优化

    <script type="text/javascript"> /*对比: 1.map速度比foreach快 2.map会返回一个新数组,不对原数组产生影响,forea ...

  3. ES6-11学习笔记--数组遍历

    ES5中数组遍历方式: for循环 forEach():没有返回值,只是针对每个元素调用func map():返回新的Array,每个元素为调用func的结果 filter():返回符合func条件的 ...

  4. js中数组遍历常用的方法

    常见的数组遍历方法,比如 for in,for  of, forEach,map,filter,every,some,find,reduce等 1,普通for循环,经常用的数组遍历 var arr = ...

  5. JavaScript:常用的一些数组遍历的方法

    常用的一些遍历数组的方法: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  6. ES5 对数组方法的扩展 以及 正则表达式

    ES5 对数组的扩展 forEach map some every indexOf lastIndexOf forEach 与 map 语法: 数组.forEach(function ( v, i ) ...

  7. JS几种数组遍历方式总结

    JS数组遍历的几种方式 JS数组遍历,基本就是for,forin,foreach,forof,map等等一些方法,以下介绍几种本文分析用到的数组遍历方式以及进行性能分析对比 第一种:普通for循环 代 ...

  8. JS几种数组遍历方式以及性能分析对比

    前言 这一篇与上一篇 JS几种变量交换方式以及性能分析对比 属于同一个系列,本文继续分析JS中几种常用的数组遍历方式以及各自的性能对比 起由 在上一次分析了JS几种常用变量交换方式以及各自性能后,觉得 ...

  9. 4日6日--ES5新增数组方法

    forEach使用的函数调用,所以占内存比较大,不如定长for循环和迭代for循环 1.通过forEach将数组中的元素逐个表示出来(遍历方法,读取操作). 2.通过map将原数组中的元素进行算数运算 ...

随机推荐

  1. Java变量和常量声明

    一.变量     1.变量的定义           变量是内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),Java中每个变量必须先声明,后使用 该区域的数据可以在同一类型范围内 ...

  2. Eclipse中文乱码问题

    最近用TortoiseSVN从androiddex上下载了一个android工程,导入之后发现里面的中文都是乱码,于是在Eclipse里通过Windows-Preferences-Workspace修 ...

  3. MDZX——张能传

    「你们到底要干什么?!」——8012年7月13日 张能于MDZX ———————————— 序章 ———————————— 话说天下大势,分久必合,合久必分. 他肩扛99米大砍刀,站在MDZX大门对面 ...

  4. MongoDB之shard_副本集和分片部署

    机器角色分配和拓扑环境如下: -------------------配置副本集s1-------------------------------1.创建目录在s1h1上创建如下目录[root@node ...

  5. CClientDC类 CWindowDC类

    CClientDC类 CClientDC类也是CDC类的派生类.它只能在窗口的客户区(即窗口中除了边框.标题栏.菜单栏以及状态栏外的中间部分)中进行绘图,坐标点(0,0)通常指的是客户区的左上角.它的 ...

  6. 009--test命令和grep作业及Sed作业awk作业和循环结构

    一.test命令 -d :目录                                test  -d  /boot -s :文件长度 > 0.非空            test  - ...

  7. UVa 1644 Prime Gap (水题,暴力)

    题意:给定一个数 n,求它后一个素数和前一个素数差. 析:先打表,再二分查找. 代码如下: #pragma comment(linker, "/STACK:1024000000,102400 ...

  8. (转载) 上传文件进度事件,进度事件(Progress Events)

    转载URL:https://www.w3cmm.com/ajax/progress-events.html MDN参考:https://developer.mozilla.org/zh-CN/docs ...

  9. hadoop中的序列化

    此文已由作者肖凡授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 最近在学习hadoop,发现hadoop的序列化过程和jdk的序列化有很大的区别,下面就来说说这两者的区别都有 ...

  10. Android HandlerThread源码解析

    在上一章Handler源码解析文章中,我们知道App的主线程通过Handler机制完成了一个线程的消息循环.那么我们自己也可以新建一个线程,在线程里面创建一个Looper,完成消息循环,可以做一些定时 ...