# toLength
# Description
转换 value 为用作类数组对象的长度整数。
# Params
value
# Return
Number
# Depend
import toInteger from './toInteger.js'
# Code
/** Used as references for the maximum length and index of an array. */
const MAX_ARRAY_LENGTH = 4294967295
function toLength(value) {
if (!value) {
return 0
}
value = toInteger(value)
if (value < 0) {
return 0
}
if (value > MAX_ARRAY_LENGTH) {
return MAX_ARRAY_LENGTH
}
return value
}
# Analyze
- 如果没有传入
value
或者value
为假值,则返回 0 - 使用
toInteger
将value
转为一个 整数 - 如果
value
小于 0 ,返回 0 - 如果
value
大于数组最大长度,返回数组最大长度 - 最后返回
value
# Remark
- Array.length MDN (opens new window) 属性的值是一个 0 到 232-1 的整数。
# Example
console.log(toLength(3.666)) // 3