中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

淺談js數組splice刪除某個元素爬坑

發布時間:2020-10-15 12:06:34 來源:腳本之家 閱讀:200 作者:壞丶毛病 欄目:開發技術

先來看下幾個概念:

// splice:返回從原始數組中刪除的項(如果沒有任何刪除,則返回空數組)
    // 當指定2個參數時,表示刪除
    // 當指定3個參數,且第2個參數為0時表示插入
    // 當指定3個參數,且第2個參數為1時表示替換

本次就拿刪除舉例,本身我們想刪除數組中的某個指定元素,我們需要知道它所在數組中的下標,我們可以用 數組.indexOf獲取它所在的下標,然后拿splice刪除這個元素。

本身是沒問題

代碼如下:

var arr = ["張三","李四","王五","趙六"];

// 刪除王五
arr.splice(arr.indexOf("王五"),1);

但是。。。。。問題就來了。

如果放到for循環中,比如循環數組,當某個條件成立的時候,我們需要刪除某個指定的元素。

但是循環中,i每次都是+1的,但是我們刪除某個元素后,下標就變了,相應的位置發生變化,i的值加一后,就會跳過下一個元素。

坑啊。。。

所以,在刪除某個元素的時候,我們手動把 i的值再減一,這樣就會避免出現跳過某個元素的問題。

例如:循環數組,當 DasOperation  屬性值等于 沒變 的時候,從數組中刪除這條數據,然后i-1

// 刪除沒有變化的,不傳遞到后臺
for (let i = 0; i < this.CurrJobData.Content.length; i += 1) {
  if (this.CurrJobData.Content[i].DasOperation === '沒變') {
    this.CurrJobData.Content.splice(this.CurrJobData.Content.indexOf(this.CurrJobData.Content[i]), 1);
    i -= 1;// 必須對i減去1,否則后面的一個元素會被跳過去
  }
}

好了,為避免更多小伙伴遇坑,貼出來,希望有幫助。

 到此這篇關于淺談js數組splice刪除某個元素爬坑的文章就介紹到這了,更多相關js splice刪除某個元素內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

铜山县| 安塞县| 灵宝市| 阳高县| 临湘市| 砀山县| 新沂市| 曲阜市| 雅安市| 婺源县| 西贡区| 栖霞市| 南投市| 同德县| 弋阳县| 石狮市| 白银市| 英德市| 子洲县| 云和县| 万州区| 康保县| 四平市| 汝城县| 武鸣县| 新兴县| 云浮市| 泌阳县| 老河口市| 石渠县| 平昌县| 湘西| 兴海县| 师宗县| 峨眉山市| 晋江市| 沙湾县| 赫章县| 忻城县| 临清市| 秦安县|