数组的遍历方法
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. lucene Index Store TermVector 说明

    最新的lucene 3.0的field是这样的: Field options for indexingIndex.ANALYZED – use the analyzer to break the Fi ...

  2. Lucene in action 笔记 term vector——针对特定field建立的词频向量空间,不存!不会!影响搜索,其作用是告诉我们搜索结果是“如何”匹配的,用以提供高亮、计算相似度,在VSM模型中评分计算

    摘自:http://makble.com/what-is-term-vector-in-lucene given a document, find all its terms and the posi ...

  3. 基于jQuery仿淘宝产品图片放大镜特效

    在开发商城的时候,往往会用到图片的放大功能,这里把自己在近期项目中使用的放大镜特效做一下总结(非插件). 放大镜效果 常用的js组件jquery.imagezoom,jquery.jqzoom,jqu ...

  4. kafka之四:Kafka集群搭建

    1.软件环境 1.linux一台或多台,大于等于2 2.已经搭建好的zookeeper集群 3.软件版本kafka_2.11-0.9.0.1.tgz 2.创建目录并下载安装软件 #创建目录 cd /o ...

  5. 【215】◀▶ IDL 文件操作说明 (黑底)

    参考:I/O - General File Access Routines —— 基本文件操作函数 01   CD 修改当前的工作空间路径. 02   FILE_SEARCH 对文件名进行特定的查找. ...

  6. Streamline Your App with Design Patterns 用设计模式精简你的应用程序

    Back to Design Patterns Streamline Your App with Design Patterns 用设计模式精简你的应用程序 In Objective-C progra ...

  7. linux下sprintf_s函数的替代(转载)

    转自:http://www.cnblogs.com/yeahgis/archive/2013/01/22/2872179.html windows平台下线程安全的格式化字符串函数sprint_s并非标 ...

  8. poj 3648 Wedding【2-SAT+tarjan+拓扑】

    看错题*n,注意是输出新娘这边的-- 按2-SAT规则连互斥的边,然后注意连一条(1,1+n)表示新娘必选 然后输出color[belong[i]]==color[belong[1+n(新娘)]]的点 ...

  9. 用jQuery获取到一个类名获取到的是一个数组 ,如果对数组中的每个进行相应的操作可以这样进行

    $(".userImg").each(function(){ $(this).click(function(){ var imgid = $(this).attr("id ...

  10. Codeforces Round #408 (Div. 2) D

    Description Inzane finally found Zane with a lot of money to spare, so they together decided to esta ...