箭头函数的坑

发表于 JS 分类,标签:

1.arguments无法使用

// 相加的方法

let add= () => {

   // 需要相加的数字

  let _args = arguments;

  // 获取到所有小数点的位数

  let _pointArray = Array.prototype.map.call(_args, (item) => {

    let _itemArray = item.toString().split(".")

    return _itemArray.length > 1 ? _itemArray[1].length:0

  })

  // 最大小数点位数

  let _maxPoint = Math.max.apply(null, _pointArray);

  

  console.log(_maxPoint)

  // 放大的比值

  let _scale = Math.pow(10,_maxPoint)

  // 最终的返回值

  return Array.prototype.reduce.apply(_args, [(a,b) =>  a + (b * _scale), 0]) / _scale

}

console.log(add(1.528, 1.2, 1.6))

image.png


解决方案:

所有用到arguments箭头函数转为function。


0 篇评论

发表我的评论