最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

先來看下幾個概念:

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

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

本身是沒問題

代碼如下:

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

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

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

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

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

坑啊。。。

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

例如:循環(huán)數組,當 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刪除某個元素內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

徐闻县| 布尔津县| 江阴市| 南漳县| 龙陵县| 吉安县| 北京市| 清水县| 余江县| 开阳县| 土默特右旗| 富蕴县| 申扎县| 珲春市| 邛崃市| 新竹市| 桐乡市| 南汇区| 鹰潭市| 和平区| 鄂尔多斯市| 凤阳县| 桓仁| 满洲里市| 曲阜市| 云安县| 宜昌市| 清流县| 龙游县| 大城县| 灵丘县| 阿合奇县| 武汉市| 镇远县| 宣汉县| 叙永县| 微山县| 新龙县| 焉耆| 新晃| 仁化县|