廖雪峰JavaScript课程--map/reduce用法

廖雪峰JavaScript课程–map/reduce

map

使用map把某一个函数作用在数组上。
在这里插入图片描述

reduce

Array的reduce()把一个函数作用在这个array的[x1,x2,x3…]上,这个函数必须接受两个参数,reduce()把结果继续和序列的下一个元素做累积计算,效果为:

练习1: 利用reduce()求积:

'use strict;'
function product(arr) {
      return arr.reduce(function(x,y) {     //注意return arr.reduce之后的结果
              return x*y }
      )
      }

练习2:把字符串13579转换为number的函数

‘use strict;’
function string2int(s) {
   arr1=s.split( '')     //用split把字符串变成字符串数组
   arr2=arr1.map(function(x,y)   {     
           return x-'0'})         //字符串数组变成单个数字的数组
    return arr2.reduce(function(x,y)  {
           return x*10+y})
           }

练习3:把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。

‘use strict’;
function normalize(arr) {
        return arr.map(function(str)  {     //调用
              return str[0].toUpperCase() + str.substring(1,str.length).toLowerCase()} 
        )
        }

练习4: 使用parseInt把字符串转化为数字

‘use strict’;
var arr=['1', '2', '3']
var r
function returnInt(str)   {
        return parseInt(str, 0)     //parseInt有两个参数, 这里指定radix为0或者10,将str解析为10进制的整数
        }
      r=arr.map(returnInt)    //不直接调用parseInt, 指定radix参数之后再调用,避免出现NaN的情况
//解法2: 直接使用Number(value)函数
‘use strict’;
var arr=['1', '2', '3']
var r
r=arr.map(Number)  

直接使用parseInt报错原因
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值