2013-08-02 28 views
0

刪除的項目我嘗試刪除第一個項目,使所有其他數組中的創建移動了JS切片,只有當他們在構造

.. 
Queue: [], 
.. 

和動態推物品進入。 我稍後使用切片去除它們,然後將下一個項目作爲第一個項目。

.. 
thread.Queue.slice(0, 1); 
.. 

應該返回數組,其中它的第一個項目,但它也應該從陣列中刪除,並將所有其他的了。

這裏是一個例子,它顯示,這是既不在瀏覽器中工作。 (我發現的Node.js這個 '行爲')

http://jsfiddle.net/bTrsE/

或相當

http://gyazo.com/b3dcdbf4f74642c04fe1c1025f225a08.png

+0

[這裏是MDN文檔](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array /切片)爲「切片」方法。 – Pointy

回答

1

Array.Slice =是一個SubArray的實現,從一個數組中您要從索引中提取某些元素並返回一個新數組。

實施例:

變種汽車= [ '日產', '本田', '豐田'];

var bestCars = cars.splice(0,1);

console.log(bestCars);

//這應該輸出日產因爲我喜歡日產

對於你的問題,你應該尋找方法Array.splice()拼接將從指數

/刪除元素

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice

+0

我甚至沒有注意到有Array.slice和Array.splice,應該仔細閱讀 – BeryJu

1

.slice()方法不改變原始數組。它返回你請求的數組部分的淺表副本。

+0

那麼爲什麼它會改變第一個例子中的數組? – BeryJu

+0

@BeryJu你在說什麼「第一個例子」?它只是不這樣做。 – Pointy

+0

@BeryJu在你的jsfiddle中,兩個例子都做了完全相同的事情。 – Pointy

相關問題