亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:106日期:2024-04-16 15:17:47

先來看下幾個(gè)概念:

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

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

本身是沒問題

代碼如下:

var arr = ['張三','李四','王五','趙六'];// 刪除王五arr.splice(arr.indexOf('王五'),1);

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

如果放到for循環(huán)中,比如循環(huán)數(shù)組,當(dāng)某個(gè)條件成立的時(shí)候,我們需要?jiǎng)h除某個(gè)指定的元素。

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

坑啊。。。

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

例如:循環(huán)數(shù)組,當(dāng) DasOperation 屬性值等于 沒變 的時(shí)候,從數(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,否則后面的一個(gè)元素會(huì)被跳過去 }}

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

到此這篇關(guān)于淺談js數(shù)組splice刪除某個(gè)元素爬坑的文章就介紹到這了,更多相關(guān)js splice刪除某個(gè)元素內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 国产精品国产精品国产三级普 | 草草草在线观看 | 亚洲狠狠ady亚洲精品大秀 | 一级黄色生活片 | 国产亚洲精彩视频 | 香蕉视频在线观看黄 | 6080欧美一区二区三区四区 | 国产乱辈通伦影片在线播放亚洲 | 欧美激情视频一级视频一级毛片 | 992人人tv香蕉国产精品 | 制服丝袜中文字幕在线观看 | 来个黄色网址 | 亚洲黄色免费看 | 久色亚洲 | 国产精品国产三级在线高清观看 | 国产毛片久久精品 | 国产成人香蕉在线视频fuz | 操片免费 | 日本黄色毛片 | 亚洲精品中文字幕乱码一区二区 | 九色国产在视频线精品视频 | 亚洲精品久久玖玖玖玖 | 打床炮视频在线观看免费 | 小泽玛利亚一区二区在线看 | 亚洲综合成人网在线观看 | 亚洲精品成人一区 | 欧美成人亚洲高清在线观看 | 成人爱爱网站在线观看 | 免费看色片网站 | 狠狠色丁香婷婷综合最新地址 | 日本性生活网站 | 香蕉视频网址 | 欧美成人黑人性视频 | 免费观看性生交大片人 | 伊甸园久久网站 | 亚洲精品国产一区二区三区在 | 国产亚洲在线观看 | 九九精品视频在线观看 | japanesefree人妖| 亚洲午夜高清 | 国产欧美日韩亚洲精品区2345 |