簡體   English   中英

刪除和重用數組索引

[英]Deleting and reusing array indexes

在Javascript中,如果我有一個很大的數組,則myArray

然后通過調用myArray.push()添加它

我使用delete myArray[102]類的方法delete myArray[102]索引

創建一個單獨的數組(例如myArrayGaps是否有好處或理由,該數組可以保存未使用myArray索引,因此,如果有未使用的索引,我可以通過定義特定的索引(例如myArray[102] = newValue;添加到數組中myArray[102] = newValue; 而不是調用.push()並累積未使用的索引?

還是由於Java的內存處理的某些方面不切實際且毫無意義?

我刪除而不是拼接的原因是因為我不想對數組的索引重新排序。 我使用它們來標識特定索引處的特定對象。 我主要是在問是否有任何理由可以優化使用delete時出現的差距。

使用delete array[index]的屬性會留下一個漏洞。

相反,您可以使用splice屬性,該屬性將刪除該索引中的值並調整數組大小。

正如您所提到的,

var a = [1,2,3,4];
delete a[2];

如果打印a現在,它將包含[1, 2, undefined × 1, 4] delete刪除元素,但不重新索引數組/長度。

但是如果您使用拼接,

a.splice(2,1);

它將返回您[1, 2, 4] 因此,您不會發現任何孔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM