javascript – 如何调整数组大小

前端之家收集整理的这篇文章主要介绍了javascript – 如何调整数组大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有一个可以替换以下函数的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;
}

猜你在找的JavaScript相关文章