我想要一个类似于Array.pop()的数组方法,它展现先进先出(FIFO)行为,而不是原生的后进先出(FILO)行为。有没有简单的方法可以实现这个需求?
想象一下JavaScript控制台:
>> array = [];
>> array.push(1);
>> array.push(2);
>> array.push(3);
>> array.fifopop();
1 <-- array.pop() yields 3, instead
我想要一个类似于Array.pop()的数组方法,它展现先进先出(FIFO)行为,而不是原生的后进先出(FILO)行为。有没有简单的方法可以实现这个需求?
想象一下JavaScript控制台:
>> array = [];
>> array.push(1);
>> array.push(2);
>> array.push(3);
>> array.fifopop();
1 <-- array.pop() yields 3, instead
你可以使用 Array.prototype.shift()
>> array = [];
>> array.push(1);
>> array.push(2);
>> array.push(3);
>> array.shift(); //outputs 1 and removes it from the array
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/shift
array.shift()
。它像array.pop()
一样取出第一个数组元素。
array.shift()
…或使用array.unshift()
代替array.push()
,然后继续使用array.pop()
…shift/unshift适用于数组的“顶部”位置,而push/pop适用于数组的“底部”位置。 - Jaromanda X