array log 自己 这样的 的确 计算 个数 ring
假设有一个函数 f(x)=x2; 作用在一个数组 [1,2,3,4,5,6,7,8,9], 通常我们会用遍历的方法来实现。
- function f(x){
- returnx * x;
- }
- vararr = [1,2,3,4,5,6,7,8,9];
- varresult = [];
- for(vari=0; i){
- result.push(f(arr[i]))
- }
这样的确可以实现,但我们有更优雅的实现。
- function f(x) {
- return x * x;
- }
- var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
- arr.map(f); // [1, 4, 9, 16, 25, 36, 49, 64, 81]
map() 方法定义在 JavaScript 的 Array 中,我们调用 Array 的 map() 方法,传入我们自己的函数,就得到一个新的 Array 作为结果。map 传入的参数时 f,即函数本身。
所以,map() 作为高阶函数,事实上它把运算规则抽象了。因此我们不光可以用来计算简单的 f(x)=x2,还可以计算任意复杂度的函数,比如将数组的所有数字转化为字符串:
- var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
- arr.map(String); // ['1', '2', '3', '4', '5', '6', '7', '8', '9']
JavaScript 中的 map 方法
来源: http://www.bubuko.com/infodetail-2150317.html