知识点
- 数组空位的辨别
- 直接声明一个有长度的数组,数组的成员都是空位
- 各种方法对空位的不同处理
题目
JavaScript数组有空位的概念,也就数组的一个位置上没有任何的值。例如:
[ , , 'Hello'] // => 0, 1 都是空位, 3 不是空位
空位并不等于undefined
或者null
。一个位置上如果是undefined
那么它依然有值,例如[, , undefined]
,0和1都是空位,而2不是空位。
请你完成一个函数fillEmpty
,它接受一个数组作为参数,可以把数组里面的所有空位都设置为'Hello'
,例如:
const a = [, , null, undefined, 'OK', ,]
fillEmpty(a)
// a 变成 ['Hello', 'Hello', null, undefined, 'OK', 'Hello']
注意,你要原地修改原先的数组,而不是返回一个新的数组。
实现
关键点就是在对空位和undefined
的判断上
数组的空位会反映在length
属性上,占据了数组的一个位置,但是内容未定