数组的遍历方法
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. ios 给移动的控件添加点击事件

    前言: 给一个UIView做移动动画,虽然看起来frame在持续改变,但是它的frame已经是最终值了. 也就是说表面看到的动画都是假象,它的真实位置已经是固定的了.所以只有点击在他的真实frame范 ...

  2. 「NetworkOnMainThreadException」:Android 2.3到Android 4.0上传文件的问题

    我在百度知道上的提问: 『之前我用的一段文件上传的代码,配合服务器端的servlet,实现了上传手机上的文件的功能:但是后来我把手机的Android系统从2.3升级到了4.0 ,同样的代码,同样的配置 ...

  3. 【旧文章搬运】Idle进程相关的一些东西

    原文发表于百度空间,2009-05-13========================================================================== Idle进 ...

  4. Integrate Your Code with the Frameworks---整合你的代码和框架

    Back to Frameworks Integrate Your Code with the Frameworks When you develop an app for OS X or iOS, ...

  5. FTP两种工作模式:主动模式(Active FTP)和被动模式

    在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令.服务器接收到命令后,会用其本地的FTP数据端口 ...

  6. display:inline-block的div 与 display:block的div之间有间隔问题(div与div之间有间隔的可能性)

    首先看一下我出现的问题如下图: 如上图所示,我的导航栏是由三部分组成的,三部分样式如下: .logo{ /*红框*/ position: relative; display: inline-block ...

  7. ASP.NET Core 依赖注入(DI)

    ASP.NET Core的底层设计支持和使用依赖注入.ASP.NET Core 应用程序可以利用内置的框架服务将服务注入到启动类的方法中,并且应用程序服务也可以配置注入.由ASP.NET Core 提 ...

  8. 875. Koko Eating Bananas

    Koko loves to eat bananas.  There are N piles of bananas, the i-th pile has piles[i] bananas.  The g ...

  9. PTA【复数相乘】

    队友在比赛时A掉的.吊吊吊!!! 主要考虑这些情况吧||| 案例: /* 3i i -3 i -1-i 1+i i 1 -1-i -1-i */ -3 -3i -2i i 2i #include &l ...

  10. 骨骼蒙皮动画(Skinned Mesh)的原理解析(二)

    http://blog.csdn.net/jimoshuicao/article/details/9283071 2)蒙皮信息和蒙皮过程 2-1)Skin info的定义 上文曾讨论过,Skinned ...