简体   繁体   English

在JavaScript中覆盖数组长度

[英]override array length in javascript

I got an idea to override javascript array length value and wants to return any random value. 我有一个方法来覆盖javascript数组长度值,并想返回任何随机值。
let's say.. 比方说

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

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

Is it possible to change length property and is there any tweaks to change the splice or slice method also. 是否可以更改length属性,是否也有任何调整以更改splice或slice方法。

Array.length is a protected property, only read ; Array.length是一个受保护的属性, 只能读取 is a bad idea try to change it. 尝试更改它是一个坏主意。

Better you can create your own class; 更好的是,您可以创建自己的课程; example: 例:

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 is a custom class, b is standard JavaScript Array. a是自定义类, b是标准JavaScript数组。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM