'use strict'
/**
* 声明一个全局变量
* @type {{}}
*/
let demo2 = {};
demo2.pow = function (x) {
return x * x;
}
demo2.moo = function () {
let arr = [1, 2, 3, 4, 5, 6, 7]
console.log(arr.map(this.pow));
console.log(arr.map(String));
}
/**
* 数组求和
* @param arr :[1, 2, 3, 4]
* @returns {number}=>10
*/
demo2.roo = function (arr) {
return arr.reduce(function (x, y) {
return x + y;//10
})
}
/**
* 数组求积
* @param arr [1,2,3,4]
* @returns {*}=>24
*/
demo2.product = function (arr) {
let r = arr.reduce(function (x, y) {
return x * y;
})
return r;
}
/**
* 将数组变成数字:
* @param arr :[1,2,3,4,5]
* @returns {*} =>12345
*/
demo2.change = function (arr) {
return arr.reduce(function(x,y){
return x*10+y;
})
}
/**
* 字符串变数字
* 不使用parseInt() 和Number().混合使用map()和reduce()
* @param s:"12345"
* @returns {*} =>12345
*/
demo2.string2int = function (string) {
let s_arr = string.split('');
let n_arr = s_arr.map(function (x) {
return +x;
})
return n_arr.reduce(function (x,y) {
return x*10+y;
})
}
js高阶函数应用实例map,reduce
最新推荐文章于 2024-10-30 19:10:39 发布