1.map 实现x2
function pow(x) {
return x*x
}
var arr = [1,2,3,4,5,6,7,8,9]
arr.map(pow)
由于map()
方法定义在JavaScript的Array
中,我们调用Array
的map()
方法,传入我们自己的函数,就得到了一个新的Array
作为结果:
2.map将array中的数字转换成字符串
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
arr.map(String); // ['1', '2', '3', '4', '5', '6', '7', '8', '9']
3.reduce
Array的reduce()
把一个函数作用在这个Array
的[x1, x2, x3...]
上,这个函数必须接收两个参数,reduce()
把结果继续和序列的下一个元素做累积计算,其效果就是:
[x1, x2, x3, x4].reduce(f) = f(f(f(x1, x2), x3), x4)
4.reduce()求积
'use strict';
function product(arr) {
var ret = arr.reduce(function(x,y){
return x*y
})
return ret;
}
var arr = [1,2,3,4,5]
product(arr)
5.利用map和reduce操作实现一个string2int()
函数
'use strict';
function string2int(s) {
var arr = s.split('') // 字符串转换成数组
var arr2 = arr.map(function(data) {
return +data //js弱类型转换,将数组字符串元素转换成数字
})
console.log(arr2)
var ret = arr2.reduce(function(x,y) {
return x * 10 + y
})
return ret;
} // 测试: if (string2int('0') === 0 && string2int('12345') === 12345 && string2int('12300') === 12300) { if (string2int.toString().indexOf('parseInt') !== -1) { alert('请勿使用parseInt()!'); } else if (string2int.toString().indexOf('Number') !== -1) { alert('请勿使用Number()!'); } else { alert('测试通过!'); } } else { alert('测试失败!'); }