Javascript中怎么使用ES6的map和reduce

发布时间:2022-02-23 13:17:32 作者:iii
来源:亿速云 阅读:166

本文小编为大家详细介绍“Javascript中怎么使用ES6的map和reduce”,内容详细,步骤清晰,细节处理妥当,希望这篇“Javascript中怎么使用ES6的map和reduce”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

说明

ES6中,数组新增了map和reduce方法。

1.map()

map() :接收一个函数,将原数组中的所有元素用这个函数处理后放入新数组返回。

代码示例:

有一个字符串数组,我们希望转为int数组

let arr = ['1', '20', '-5', '3'];
console.log(arr)
//传统写法
let newArr = arr.map(function(s) {
	return parseInt(s);
});
console.log(newArr); //输出[1,20,-5,3]
//箭头函数
let newArr2 = arr.map(s => parseInt(s));
console.log(newArr2) //输出[1,20,-5,3]

Javascript中怎么使用ES6的map和reduce

2.reduce()

reduce() :接收一个函数(必须)和一个初始值(可选),该函数接收两个参数。下面我们详细的来看一下:

函数原型:

reduce(callback, initialValue)

函数参数:

callback是上一次reduce处理的结果:

callback四个参数分别是: 上一次结果值、当前元素、当前索引、原数组

initialValue是数组中要处理的下一个元素

函数作用机制:

reduce() 会从左到右依次把数组中的元素用reduce处理,并把处理的结果作为下次reduce 的第一个参数。如果是第一次,会把前两个元素作为计算参数,或者把用户指定的初始值作为起始参数。

代码示例:
let arr = ['1', '20', '-5', '3']
arr = arr.map(item => item*2);
console.log(arr);
let result = arr.reduce((a, b) => {
    console.log('上一次计算结果值: '+a);
    console.log('当前数值: '+b);
	console.log('当前return的值(a+b):'+(a+b));
    return a+b;
}, 100);
console.log(result);

Javascript中怎么使用ES6的map和reduce

综合案例

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>ES6新特性学习-(9)-扩展运算符</title>
	</head>
	<body>
		<script>
			//ES6中,数组新增了map和reduce方法。
			//1.map() :接收一个函数,将原数组中的所有元素用这个函数处理后放入新数组返回。 
			//举例:有一个字符串数组,我们希望转为int数组
			let arr = ['1', '20', '-5', '3'];
			console.log(arr)
			//传统写法
			let newArr = arr.map(function(s) {
				return parseInt(s);
			});
			console.log(newArr); //输出[1,20,-5,3]
			//箭头函数
			let newArr2 = arr.map(s => parseInt(s));
			console.log(newArr2) //输出[1,20,-5,3]
			// 2.reduce() :接收一个函数(必须)和一个初始值(可选),该函数接收两个参数: 
			const arr = [1, 20, -5, 3]
			//此时a=1,b=20开始从左往右循环处理
			let result1 = arr.reduce((a, b) => {
				return a + b;
			});
			console.log(result1); //输出 19
			//当有初始值传入的时候, a=1,b=1,开始从左往右循环处理
			let result2 = arr.reduce((a, b) => {
				return a + b;
			}, 1)
			console.log(result2); //输出 20
		</script>
</body>
</html>

读到这里,这篇“Javascript中怎么使用ES6的map和reduce”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. Yarn中的Map和Reduce的优化
  2. javascript中reduce如何使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

javascript es6 map

上一篇:Java怎么实现FTP的上传与下载功能

下一篇:C++的空指针能用nullptr代替NULL吗

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》