map()和forEach()[复制]的特殊性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了map()和forEach()[复制]的特殊性相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
javascript中map()vs forEach的特殊性(特异性)是什么?
他们工作得很好!
<script type="text/javascript"> "use strict";
const array1 = [12, 3, 7];
const array2 = [];
const dispEls=(el, idx, array1) =>
array2.push("exp (a[" + idx+ "] = "+el+") = "+
Math.exp(el).toFixed(2));
array2.push("===== FOREACH");
array1.forEach(dispEls);
array2.push("===== MAP");
array1.map(dispEls);
console.dir(array2)
/*[…]
0: "===== FOREACH"
1: "exp (a[0] = 12) = 162754.79"
2: "exp (a[1] = 3) = 20.09"
3: "exp (a[2] = 7) = 1096.63"
4: "===== MAP"
5: "exp (a[0] = 12) = 162754.79"
6: "exp (a[1] = 3) = 20.09"
7: "exp (a[2] = 7) = 1096.63"
length: 8 */
</script>
答案
map
返回一个数组,其中包含函数返回的值,而forEach
则没有。如果您不需要新阵列,请选择forEach
。
使用代码的示例:
const array1 = [12, 3, 7];
const array2 = [];
const dispEls = (el, idx, array1) =>
array2.push("exp (a[" + idx + "] = " + el + ") = " +
Math.exp(el).toFixed(2));
array2.push("===== FOREACH");
let result_forEach = array1.forEach(dispEls);
array2.push("===== MAP");
let result_map = array1.map(dispEls);
console.dir(result_forEach)
console.dir(result_map)
以上是关于map()和forEach()[复制]的特殊性的主要内容,如果未能解决你的问题,请参考以下文章
PHP 数组遍历方法大全(foreach,list,each)
Array.map()和Array.forEach()返回原始数组