数组的遍历方法
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. hdu 1075 What Are You Talking About(map)

    题意:单词翻译 思路:map #include<iostream> #include<stdio.h> #include<string.h> #include< ...

  2. ASP.NET WebServce项目下添加Http服务,支持Get,Post请求方式;传输格式json/xml

    由于WEBServce老项目中需要增添新的接口,而且添加的接口不希望被其它项目以引用Servces方式使用. 那么得在现有Service项目中添加Http请求方式来实现系统间数据交互.只需要告知请求地 ...

  3. [USACO2006 DEC] Wormholes

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1715 [算法] 用SPFA判定负环是否存在即可 时间复杂度 : O(N ^ 2) [ ...

  4. 微信小程序在线制作 自己制作微信小程序

    小程序是个什么东西?怎么自己制作微信小程序?微信小程序在线制作难吗?最近老是听这类问题,耳朵都长茧子了. 百牛信息技术bainiu.ltd整理发布于博客园 接下来作为一个技术人员的角度就为大家分析一下 ...

  5. django基础知识

    一.django的安装 1. pip3 install django 2. 把安装路径加到环境变量里以便以后启动admin相关命令,在windows系统中---我的电脑---属性----高级系统设置- ...

  6. linux线程笔记1之创建线程

    1 线程与进程的对比 这里有一个笔记详细的阐述 http://blog.csdn.net/laviolette/article/details/51506953 2 创建线程函数 int pthrea ...

  7. Playground Tutorial

    In this step by step tutorial we'll walk through setting up a business network, defining our assets, ...

  8. 如何用GO实现一个tail -f功能以及相应的思维发散

    此文已由作者杨望暑授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 背景 在服务端查看log会经常使用到tail -f命令实时跟踪文件变化. 那么问题来了, 如果自己写一个同样 ...

  9. hdu5443 【线段树】

    题意: 略 思路: 暴力是可以的O(1e7),这里采用线段树,线段树区间查找O(logn) #include<stdio.h> #include<string.h> #incl ...

  10. bzoj 4871: [Shoi2017]摧毁“树状图”【树形dp】

    做不来--参考https://www.cnblogs.com/ezyzy/p/6784872.html #include<iostream> #include<cstdio> ...