Skip to content

Latest commit

 

History

History
40 lines (24 loc) · 1.57 KB

toInteger.md

File metadata and controls

40 lines (24 loc) · 1.57 KB

lodash源码分析之toInteger

本文为读 lodash 源码的第五十四篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash

gitbook也会同步仓库的更新,gitbook地址:pocket-lodash

依赖

import toFinite from './toFinite.js'

《lodash源码分析之toFinite》

源码分析

toInteger 的作用是将 value 转换成整数,如果是无限值,则转换为最大的正整数或负整数。

function toInteger(value) {
  const result = toFinite(value)
  const remainder = result % 1

  return remainder ? result - remainder : result
}

首先,调用 toFinite ,将传入的 value 转换为数字和有限值。

如果一个数字带有小数,要转换为整数时,最简单的方法就是将小数部分减掉。如: 3.2 - 0.2 即可得到整数 3

因此,对 result1 即可得到 result 的小数部分 remainder ,如果 remainder0 ,则原来的值就已经是整数,直接返回即可,否则,用原值减去小数值,即可得到整数,即 result - remainder

License

署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0)

最后,所有文章都会同步发送到微信公众号上,欢迎关注,欢迎提意见:

作者:对角另一面