是否有一个可以替换以下函数的Array方法(类似a.splice(一些,棘手的,参数))?
function resize(arr,newSize,defaultValue) { if (newSize > arr.length) while(newSize > arr.length) arr.push(defaultValue); else arr.length = newSize; }
解决方法
在优雅方面,我会说你可以减少原来的解决方案:
function resize(arr,defaultValue) { while(newSize > arr.length) arr.push(defaultValue); arr.length = newSize; }
或者使用原型:
Array.prototype.resize = function(newSize,defaultValue) { while(newSize > this.length) this.push(defaultValue); this.length = newSize; }