欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談js數(shù)組splice刪除某個元素爬坑

 更新時間:2020年10月14日 09:44:36   作者:壞丶毛病  
這篇文章主要介紹了淺談js數(shù)組splice刪除某個元素爬坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

先來看下幾個概念:

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

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

本身是沒問題

代碼如下:

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

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

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

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

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

坑啊。。。

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

例如:循環(huán)數(shù)組,當 DasOperation  屬性值等于 沒變 的時候,從數(shù)組中刪除這條數(shù)據(jù),然后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數(shù)組splice刪除某個元素爬坑的文章就介紹到這了,更多相關js splice刪除某個元素內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論