类数组与最大安全数

类数组定义:拥有一个length 属性和若干索引属性的对象

例如:

  • arguments

  • 有length属性的对象

a = {
    1:1,
    2:2,
    c:3,
    length:4
}

console.log(_.isArrayLike(a));//true
_.isArrayLike = function(collection){
        var length = collection.length;
        return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;
    }

其中,MAX_ARRAY_INDEX指的是最大安全数

var MAX_ARRAY_INDEX = Math.pow(2,53) - 1;

关于最大安全数,不懂的话可以看看这个JavaScript 浮点数陷阱及解法 ,然后推荐一道leetcode题体会一下, leetcode5173.质数排列

Last updated