关于eval、map、reduce的用法

eval定义和用法

eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。

如果参数是一个表达式,eval() 函数将执行表达式。如果参数是Javascript语句,eval()将执行 Javascript 语句。

语法

eval(string)

JavaScript Array map() 方法

  • 定义和用法

    map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

    map() 方法按照原始数组元素顺序依次处理元素。

    注意: map() 不会对空数组进行检测。

    注意: map() 不会改变原始数组。

  • 语法

    array.map(function(currentValue,index,arr), thisValue)
    

JavaScript reduce() 方法

实例

计算数组元素相加后的总和:

var numbers = [65, 44, 12, 4];
 
function getSum(total, num) {
    return total + num;
}
function myFunction(item) {
    document.getElementById("demo").innerHTML = numbers.reduce(getSum);
}

定义和用法

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

reduce() 可以作为一个高阶函数,用于函数的 compose。

注意: reduce() 对于空数组是不会执行回调函数的。


浏览器支持

表格中的数字表示支持该方法的第一个浏览器版本号。

方法
reduce() Yes 9.0 3.0 4 10.5

语法

array.reduce(function(total, currentValue, currentIndex, arr), initialValue)

参数

参数 描述
function(total,currentValue, currentIndex,arr) 必需。用于执行每个数组元素的函数。 函数参数: 参数描述total必需初始值, 或者计算结束后的返回值。 currentValue必需当前元素。 currentIndex*可选。当前元素的索引 arr可选。当前元素所属的数组对象。
initialValue 可选。传递给函数的初始值

技术细节

返回值: 返回计算结果
JavaScript 版本: ECMAScript 3

更多实例

<button onclick="myFunction()">点我</button>
 
<p>数组元素之和: <span id="demo"></span></p>
 
<script>
var numbers = [15.5, 2.3, 1.1, 4.7];
 
function getSum(total, num) {
    return total + Math.round(num);
}
function myFunction(item) {
    document.getElementById("demo").innerHTML = numbers.reduce(getSum, 0);
}
</script>
posted @ 2021-09-14 00:32  sonsmart  阅读(345)  评论(0)    收藏  举报