无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網 會員登陸 & 注冊

碎片時間學編程「351]:快速刪除無序 JavaScript 數(shù)組中的元素

2023-06-27 12:17 作者:路條編程  | 我要投稿


Array.prototype.splice() 是從數(shù)組中刪除元素的最常用方法。但事實證明這并不是最快的。如果您要使用大型數(shù)組執(zhí)行許多操作,這可能是影響代碼性能的一個特別重要的因素。 您可以使用一個非常簡單的技巧來加速此操作,但數(shù)組中元素的順序不能對其起作用。如果后者為真,則可以毫無問題地交換數(shù)組中的兩個元素。例如,這意味著您可以將任何元素與最后一個元素交換。但是使用 Array.prototype.pop() 刪除最后一個元素既簡單又快速,因此您可以利用它來發(fā)揮自己的優(yōu)勢。例如:

const arr = [3, 1, 5, 7, 9]; ?// Want to remove 5 (index: 2)arr[2] = arr[arr.length -1]; ?// Copy last element to 3rd placearr.pop(); ? ? ? ? ? ? ? ? ? ?// Remove the last element

在此示例中,我們要刪除數(shù)組中間的一個元素。我們首先將要刪除的元素與最后一個元素進行交換。但是,我們不需要實際交換它們。我們需要做的就是確保最后一個元素位于我們要刪除的元素的位置。我們可以簡單地將其復制到該位置,然后使用 Array.prototype.pop() 刪除最后一個元素。 順便說一句,人們可能會認為將其縮短為 arr[i] = arr.pop() 會讓它變得更簡潔。事實證明情況并非如此,因為如果我們嘗試刪除數(shù)組中的最后一個元素,這個較短的版本將會失敗。

更多內容請訪問我的網站:https://www.icoderoad.com


碎片時間學編程「351]:快速刪除無序 JavaScript 數(shù)組中的元素的評論 (共 條)

分享到微博請遵守國家法律
泗洪县| 襄垣县| 攀枝花市| 张家界市| 庄浪县| 武隆县| 鄄城县| 冕宁县| 义马市| 惠水县| 通海县| 兰考县| 赤水市| 永德县| 吉木乃县| 会宁县| 噶尔县| 远安县| 淮阳县| 东莞市| 淮滨县| 普陀区| 长兴县| 句容市| 杭锦旗| 冕宁县| 宁城县| 鄯善县| 武冈市| 镇赉县| 罗城| 青神县| 宣化县| 西平县| 石城县| 文安县| 纳雍县| 舟山市| 班玛县| 屏南县| 奎屯市|