在javascript中覆盖数组长度

时间:2016-06-22 07:20:42

标签: javascript arrays

我有想法覆盖javascript数组长度值并希望返回任何随机值 让我们说..

 a=[56,78,89,200,800]
 b=['a','b','f']

 a.length    //should give me only 2;
 b.length    //also should give 2  

是否可以更改长度属性,是否还有任何调整来更改拼接或切片方法。

1 个答案:

答案 0 :(得分:1)

Array.length是受保护的属性,仅读取;尝试改变它是一个坏主意。

更好您可以创建自己的课程;例如:

var oArray = function (aArr){
    oRet = {};

    for(var i = 0, aArrL = aArr.length; i < aArrL; i++){
        oRet[i] = aArr[i];
    }
    oRet.length = 2;

    return oRet;
};

a= new oArray([56,78,89,200,800]);
b=['a','b','f'];

console.log(a.length);
console.log(b.length);

a是自定义类,b是标准JavaScript数组。