1、map 遍历数组,改变原数组

[2, 3, 4, 5].map(function(val, key,arr) {
return val > 3;
}) var data = [
{
name: 'tom',
age: 22
},
{
name: 'link',
age: 19
}
]
data.map(function(item, index) {
return item.age += 20
})
console.log(data);

2、filter 不改变原数组,返回一个新数组

var person = [
{
name: 'tom',
age: 20,
},
{
name: 'jake',
age: 25
},
{
name: 'bis',
age: 32
},
{
name: 'alex',
age: 28
}
]
var aaa = person.filter(function(value,key,arr) {
return item.age < 26
})
console.log(person, aaa);

3.reduce 叠加结果 回调函数中有4个参数,分别是,上一项叠加后的结果,当前项,当前项的索引值,数组本身

var thing = [
{
name: 'xiaom',
price: 1999
},
{
name: 'apple',
price: 6666,
},
{
name: 'huawei',
price: 2999
}
]
thing.reduce(function(res,cur,key,arr){
return res + cur,price
},0)

4.sort 从小到大排序

var produts = [
{
name: 'xssg',
price: 10,
},
{
name: 'xssg',
price: 20,
},
{
name: 'xssg',
price: 8,
},
{
name: 'xssg',
price: 4,
},
{
name: 'xssg',
price: 7,
},
{
name: 'xssg',
price: 1,
}
]
produts.sort(function(cur, nex) {
return cur.price - nex.price;
})

5.forEach

缺点 :无法中途跳出forEach循环,break命令或return命令都不能奏效。

[1, 2, 3, 4].forEach(function(value, key, arr) {
console.log(value, key, arr)
})

6.for in 遍历数组或者对象

缺点:数组的键名是数字,但是for...in循环是以字符串作为键名“0”、“1”、“2”;

不仅遍历数字键名,还会遍历手动添加的其他键,甚至包括原型链上的键。

var obj = {a:1, b:2, c:3};

for (var prop in obj) {
console.log("obj." + prop + " = " + obj[prop]);
}

7.for of (只要部署了symbol.iterator接口)

优点:有着同for...in一样的简洁语法,但是没有for...in那些缺点。

不同于forEach方法,它可以与break、continue和return配合使用。

提供了遍历所有数据结构的统一操作接口。

js里面的map、filter、forEach、reduce、for in、for of等遍历方法的更多相关文章

  1. JS里的map与forEach遍历

    map 返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值. var numbers = [3,2,6,3] function func(num){ return num * documen ...

  2. JS中的 map, filter, some, every, forEach, for in, for of 用法总结和区别

    JS中的 map, filter, some, every, forEach, for in, for of 用法总结和区别  :https://blog.csdn.net/hyupeng1006/a ...

  3. Map,Filter和Reduce

    转自:https://www.aliyun.com/jiaocheng/444967.html?spm=5176.100033.1.13.xms8KG 摘要:Map,Filter和Reduce三个函数 ...

  4. [译]PYTHON FUNCTIONS - MAP, FILTER, AND REDUCE

    map, filter, and reduce Python提供了几个函数,使得能够进行函数式编程.这些函数都拥有方便的特性,他们可以能够很方便的用python编写. 函数式编程都是关于表达式的.我们 ...

  5. Python Map, Filter and Reduce

    所属网站分类: python基础 > 函数 作者:慧雅 原文链接: http://www.pythonheidong.com/blog/article/21/ 来源:python黑洞网 www. ...

  6. Map, filter and reduce

    To add up all the numbers in a list, you can use a loop like this: Total is initialized to 0. Each t ...

  7. js数组中indexOf/filter/forEach/map/reduce详解

    今天在网上看到一篇帖子,如题: 出处:前端开发博客 (http://caibaojian.com/5-array-methods.html) 在ES5中一共有9个Array方法,分别是: Array. ...

  8. js Array 中的 map, filter 和 reduce

    原文中部分源码来源于:JS Array.reduce 实现 Array.map 和 Array.filter Array 中的高阶函数 ---- map, filter, reduce map() - ...

  9. JS数组中every(),filter(),forEach(),map(),some()方法学习笔记!

    ES5中定义了五种数组的迭代方法:every(),filter(),forEach(),map(),some(). 每个方法都接受两个参数:要在每一项运行的函数(必选)和运行该函数的作用域的对象-影响 ...

随机推荐

  1. js 操作数组(过滤对应数据)

    过滤掉相应数据 var fileList = { "85968439868a92": [{name: 'food.jpeg'}, {name: 'ood.jpeg'}], &quo ...

  2. Spring Boot Document Part II(上)

    Part II. Getting started 这一章内容适合刚接触Spring Boot或者"Spring"家族的初学者!随着安装指导说明,你会发现对Spring boot有一 ...

  3. DIY智能家居——零基础入门篇

    概要 本文主要根据笔者从零开始接触硬件,以小白视角开启IoT探索,根据相关资料DIY一个温湿度传感器.后经过探索发现新大陆--Home Assistant&Homebridge,最终实现了一个 ...

  4. NOIP2017SummerTraining0726

    三道比较简单的题,还以为是八校考试的题目,但是并不是,无语了,第三题其实看了挺久的,一看到图,就想到了二分图,网络流之类的算法,但是尽力往这个方向想了好久都没什么思路, 最后从简单入手,然而没什么结果 ...

  5. python---time模块使用详解

    python中的time模块提供一些方法用来进行关于时间的操作,time模块中有以下方法可供使用: time() --- 返回当前时间的时间戳. 调用:time.time(),  可用于计算程序运行的 ...

  6. 手动打包MVC项目成Web Deploy包,发布至服务器

    ①确保服务器上安装了Web Deploy,可以使用微软Web Paltform Installer安装.https://www.microsoft.com/web/downloads/platform ...

  7. Linux系统初始化过程及运行级别简介

    Linux开机过程: 1 开机自检(BIOS):初始化硬件,查找启动介质 2 MBR引导 3 GRUB引导菜单:GRUB程序安装在Bootloader 4 加载内核(kernel) 5 运行INIT进 ...

  8. [js高手之路]html5 canvas动画教程 - 自己动手做一个类似windows的画图软件

    这个绘图工具,我还没有做完,不过已经实现了总架构,以及常见的简易图形绘制功能: 1,可以绘制直线,圆,矩形,正多边形[已完成] 2,填充颜色和描边颜色的选择[已完成] 3,描边和填充功能的选择[已完成 ...

  9. Guava快速入门

    Guava快速入门 Java诞生于1995年,在这20年的时间里Java已经成为世界上最流行的编程语言之一.虽然Java语言时常经历各种各样的吐槽,但它仍然是一门在不断发展.变化的语言--除了语言本身 ...

  10. C#命令行解析工具

    我将告诉大家两个方法去获取C#输入的命令行参数. 第一个方法: 林选臣大神写的,他的方法很简单. 首先复制两个类到项目 public class CommandLineArgumentParser { ...