我正在尝试实现一个函数,在不使用unshift或splice方法的情况下将一个项添加到数组的开头,而只是使用array. length。到目前为止,我所做的一切只是覆盖索引0处已经存在的内容。如果有任何帮助,我将不胜感激!
LetsUnshift = function(array) {
for (var i = array.length - 1; i >0; i--) {
array[i +1] = array[i];
}
array[0] = item;
};
我正在尝试实现一个函数,在不使用unshift或splice方法的情况下将一个项添加到数组的开头,而只是使用array. length。到目前为止,我所做的一切只是覆盖索引0处已经存在的内容。如果有任何帮助,我将不胜感激!
LetsUnshift = function(array) {
for (var i = array.length - 1; i >0; i--) {
array[i +1] = array[i];
}
array[0] = item;
};
5条答案
按热度按时间nr9pn0ug1#
保持相同的引用,您可以使用 *ES 6的 *
Array.prototype.copyWithin
你可以倒车两次,
你可以把整件事重新推一遍,
可以使用
while
进行迭代,类似于for
如果你的目标是创建一个新的引用,你可以重写后两个中的任何一个,例如:
如果我们只是在玩代号高尔夫
ymdaylpp2#
这应该行得通:
您的代码的问题在于条件
i>0
,它阻止第一个元素向右移动。5kgi1eie3#
pcww981p4#
只需调用函数,并按照另一个答案中的建议从
arr.length-1
向下启动到>= 0
jhdbpxl95#