我认为有一种方法可以覆盖JavaScript数组的长度值,并返回任意随机值。
举个例子...
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
是否可以更改长度属性,是否有任何技巧可以更改splice或slice方法。
我认为有一种方法可以覆盖JavaScript数组的长度值,并返回任意随机值。
举个例子...
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
是否可以更改长度属性,是否有任何技巧可以更改splice或slice方法。
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 数组。
b.length = 2;
(并删除最后一个值),但不能改变其行为,比如 Array.prototype.length = 2;
。也许我表达不太准确。 - José M. Carnero
array.length
。 - Rayon