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

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

JS刪除數(shù)組指定值常用方法詳解

瀏覽:68日期:2024-05-05 13:43:06

一. 刪除數(shù)組中所有指定值

先看一種危險(xiǎn)的方式:

<!DOCTYPE html><html> <head> <meta charset='utf-8'> <title></title> </head> <body> <script type='text/javascript'> window.onload = function() {var arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5];console.log(`原始數(shù)組:${arr}`);arr.forEach((item, i) => { if (item == 3) { arr.splice(i, 1); // 從下標(biāo) i 開(kāi)始, 刪除 1 個(gè)元素 }})console.log(`刪除之后的數(shù)組:${arr}`); } </script> </body></html>

輸出結(jié)果:

JS刪除數(shù)組指定值常用方法詳解

輸出的結(jié)果中,只刪除了一個(gè)3,這是因?yàn)閟plice方法刪除數(shù)組一個(gè)指定值之后,數(shù)組發(fā)生改變,后續(xù)的值向前挪動(dòng)一個(gè)位置,在接下來(lái)的循環(huán)遍歷中,后面的3的下標(biāo)由原本的5變成了4,這就導(dǎo)致刪除操作之后,接著找下標(biāo)為5的值的時(shí)候,找不到后面的值3了,而從值為4的元素接著遍歷,當(dāng)要?jiǎng)h除的值不確實(shí)是1個(gè)的時(shí)候,這種遍歷刪除是危險(xiǎn)的方式;

1. 如果使用splice方法循環(huán)遍歷的方式刪除指定值,一種保險(xiǎn)的方式是逆向遍歷:

<!DOCTYPE html><html> <head> <meta charset='utf-8'> <title></title> </head> <body> <script type='text/javascript'> window.onload = function() {var arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5];console.log(`原始數(shù)組:${arr}`);for (let i = arr.length - 1; i > -1; i--) { if (arr[i] == 3) { arr.splice(i, 1); }}console.log(`刪除之后的數(shù)組:${arr}`); } </script> </body></html>

輸出結(jié)果:

JS刪除數(shù)組指定值常用方法詳解

2. 使用filter方法過(guò)濾掉指定值:

<!DOCTYPE html><html> <head> <meta charset='utf-8'> <title></title> </head> <body> <script type='text/javascript'> window.onload = function() {var arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5];arr = arr.filter(item => item != 3); // 過(guò)濾掉值不為3,返回新數(shù)組console.log(`filter方法操作之后的數(shù)組:${arr}`); } </script> </body></html>

輸出結(jié)果:

JS刪除數(shù)組指定值常用方法詳解

注意: filter方法不改變?cè)瓟?shù)組,只是返回一個(gè)新數(shù)組;

二. 刪除指定一個(gè)值

如果確定要?jiǎng)h除的值只有一個(gè),除了遍歷查找刪除之后,還可以使用some方法:

<!DOCTYPE html><html> <head> <meta charset='utf-8'> <title></title> </head> <body> <script type='text/javascript'> window.onload = function() {var arr = [1, 2, 3, 4, 5];arr.some((item, i) => { if (item == 2) { arr.splice(i, 1); return true }})console.log(`刪除之后的數(shù)組:${arr}`); } </script> </body></html>

輸出結(jié)果:

JS刪除數(shù)組指定值常用方法詳解

注意: some方法找到符合條件的值手動(dòng)返回true之后,不再接著遍歷(如果將some替換成forEach,return是不起作用的);

除此之外,還可以使用findIndex方法:

<!DOCTYPE html><html> <head> <meta charset='utf-8'> <title></title> </head> <body> <script type='text/javascript'> window.onload = function() {var arr = [1, 2, 3, 4, 5];console.log(`原始數(shù)組:${arr}`);var a = arr.findIndex(item => item == 3);arr.splice(a, 1);console.log(`刪除之后的數(shù)組:${arr}`); } </script> </body></html>

輸出結(jié)果:

JS刪除數(shù)組指定值常用方法詳解

注意: findIndex只找到第一個(gè)符合條件的下標(biāo),找不到就返回 -1;

詳情查看MDN中關(guān)于數(shù)組的介紹:

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 毛片爽爽爽免费看 | fc2成人免费人成在线观看播放 | 国产午夜高清一区二区不卡 | 亚洲国产精品一区二区九九 | 老妇激情毛片 | 成人欧美午夜视频毛片 | 国产成人91精品 | 九九51精品国产免费看 | 一区二区三区四区日韩 | 国产破处在线视频 | 久久精品国产精品亚洲精品 | www.草逼.com| 欧美一级级毛片 | 麻豆传媒视频网站 | 99精品视频在线观看免费播放 | 日本黄色免费一级片 | 青草视频网址 | www精品一区二区三区四区 | 亚洲欧美日韩综合一区 | 亚洲综合第一区 | 国产成人精品男人的天堂538 | 国产精品嫩草影院午夜 | 欧美日韩在线一区二区三区 | 娇喘嗯嗯~轻点啊视频福利 | 国产丝袜护土调教在线视频 | 日韩中文字幕在线看 | 天天色综合天天 | 香蕉福利视频 | 国产美女无遮挡免费网站 | 亚洲黄毛片 | 精品久久久久久午夜 | 久久黄色一级片 | 国产精品一区在线观看你懂的 | 日本高清视频www夜色资源 | 日本一级淫片a 免费播放口 | 欧美成a人片免费看久久 | 99久久这里只精品国产免费 | 欧美洲精品亚洲精品中文字幕 | 国产黄在线观看免费观看软件视频 | 一级黄色大片免费观看 | 久久国产电影 |