如何根据变量向JavaScript数组推入指定数量的空元素
给数组末尾添加指定数量空元素的实现方法
以下几种方法都能满足你的需求:
方法一:通过push循环添加
既然你熟悉push方法,最直观的方式就是循环x次,每次向数组末尾推入undefined(数组里的空元素本质是undefined的省略写法,两者效果一致):
let array = ["Sandy", 5, 2, 7]; let x = 3; for (let i = 0; i < x; i++) { array.push(undefined); } // 此时数组会显示为 ["Sandy", 5, 2, 7, , , ]
方法二:直接修改数组length属性
JavaScript数组的length是可写属性,直接将数组长度设置为原长度加x,就能自动在末尾补上空元素:
let array = ["Sandy", 5, 2, 7]; let x = 3; array.length += x; // 数组直接变为 ["Sandy", 5, 2, 7, , , ]
方法三:用concat生成新数组
如果不想修改原数组,可以结合Array(x)创建一个长度为x的空数组,再通过concat和原数组合并:
let array = ["Sandy", 5, 2, 7]; let x = 3; const newArray = array.concat(Array(x)); // newArray 即为 ["Sandy", 5, 2, 7, , , ]
注意:Array(x)创建的是包含x个空槽的数组,和推入undefined的元素在遍历(比如forEach)时行为略有不同——空槽会被跳过,而undefined元素会被正常遍历,可根据实际场景选择合适的方法。
内容的提问来源于stack exchange,提问作者Borgher
相关产品推荐
相关产品推荐

