我们有一个数组,其中包含一些空值,如下所示:
const arr = [43,534534,645,64,,645,64,,645,,645,,65,,645,,64];
我们需要编写一个Array函数pushAtEmpty()
,该函数接受一个元素并将其推入在上下文中使用的数组中找到的第一个空索引。如果没有空格,则应将元素压入数组的最后。
让我们为该函数编写代码。我们将首先搜索空头指数,然后用我们提供的值替换那里的值。
const arr = [43,534534,645,64,,645,64,,645,,645,,65,,645,,64]; Array.prototype.pushAtEmpty = function(element){ let index; for(index = 0; index < this.length; index++){ if(arr[index] === undefined){ this.splice(index, 1, element); break; }; }; if(index === this.length){ this.push(element); } }; arr.pushAtEmpty(23); arr.pushAtEmpty(33); arr.pushAtEmpty(43); arr.pushAtEmpty(53); arr.pushAtEmpty(63); arr.pushAtEmpty(73); arr.pushAtEmpty(83); arr.pushAtEmpty(93); console.log(arr);
输出结果
控制台中的输出将为-
[ 43, 534534, 645, 64, 23, 645, 64, 33, 645, 43, 645, 53, 65, 63, 645, 73, 64, 83, 93 ]