摘要:常見的思路是先用方法遍歷一次,或其它方法遍歷,總之是把要去掉的元素改成,然后再遍歷新數(shù)組,把的元素去掉。那么有沒有遍歷一次就可以把沒用的元素去掉的辦法呢有的,如下只需要一個(gè)簡單的循環(huán)就搞定啦。
經(jīng)常做后臺(tái)取數(shù)據(jù),渲染到頁面工作的前端童鞋可能都碰到過這種需求:那就是如果后臺(tái)傳給前端的數(shù)據(jù)要二次處理,一個(gè)數(shù)組,其中具有某種共同特征的元素是我們不需要的,必須要把它刪除掉,這時(shí)候怎么做呢。
常見的思路是:先用map方法遍歷一次,或其它方法遍歷,總之是把要去掉的元素改成undefined,然后再遍歷新數(shù)組,把undefined的元素去掉??傊褪欠浅B闊?br>那么有沒有遍歷一次就可以把沒用的元素去掉的辦法呢?
有的,如下:
var arr = [ { status:0 },{ status:1 },{ status:0 },{ status:0 },{ status:0 },{ status:3 },{ status:0 },{ status:7 },{ status:0 },{ status:2 }]; console.log(arr); for(var i=0,flag=true,len=arr.length;i只需要一個(gè)簡單的for循環(huán)就搞定啦。
我在for循環(huán)里設(shè)了個(gè) flag 標(biāo)志,并在后面的 i++ 位置做了判斷,flag為true則加,為false則不變。
這樣就可以解決,splice方法刪掉一個(gè)元素后,后面緊鄰的元素不會(huì)被遍歷到的問題。
特別注意,for循環(huán)里面的 if 要先判斷一下 arr[i] 的存在與否。我目前測試的這種辦法是沒有漏洞的,如果大家用的時(shí)候發(fā)現(xiàn)有任何漏洞的話,希望能回復(fù)告知我一下,或者哪位大神有更好的實(shí)現(xiàn)這種需求的辦法,麻煩在評(píng)論里寫出來,大家一起探討,共同進(jìn)步!
深知sf里大神很多,小弟就不在這里過多廢話了。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/86480.html
摘要:循環(huán)方法方法不改變?cè)瓟?shù)組方法會(huì)給原數(shù)組中的每個(gè)元素都按順序調(diào)用一次函數(shù)。篩選出過濾出數(shù)組中符合條件的項(xiàng)組成新數(shù)組代碼方法方法為數(shù)組中的每個(gè)元素執(zhí)行一次函數(shù),直到它找到一個(gè)使返回表示可轉(zhuǎn)換為布爾值的值的元素。 showImg(https://segmentfault.com/img/bV2QTD?w=1600&h=500); 前言 JavaScript 發(fā)展至今已經(jīng)發(fā)展出多種數(shù)組的循環(huán)遍...
摘要:面試筆記,該部分為下部分。構(gòu)造函數(shù)模式使用自定義的構(gòu)造函數(shù)與普通函數(shù)一樣,只是用它來創(chuàng)建對(duì)象,定義對(duì)象類型如的屬性和方法。使用原型來添加屬性共享一個(gè)原型對(duì)象的方法原型是指向原型對(duì)象的,這個(gè)原型對(duì)象與構(gòu)造函數(shù)沒有太大關(guān)系,唯一的關(guān)系 js&jq面試筆記,該部分為下部分。 字符串相關(guān) 1、定義一個(gè)方法,用于將string中的每個(gè)字符之間加一個(gè)空格,并輸出 如:hello -> h e l ...
摘要:數(shù)組也是對(duì)象數(shù)據(jù)類型的數(shù)組也有屬性名,只不過屬性名是數(shù)字,我們把數(shù)字屬性名稱之為它的索引數(shù)組是以數(shù)字作為索引,索引從零開始,有一個(gè)屬性代表數(shù)組的長度。 Array 數(shù)組也是對(duì)象數(shù)據(jù)類型的 typeof [] ->object數(shù)組也有屬性名,只不過屬性名是數(shù)字,我們把數(shù)字屬性名稱之為它的索引:數(shù)組是以數(shù)字作為索引,索引從零開始,有一個(gè)length屬性代表數(shù)組的長度。 showImg(h...
摘要:數(shù)組元素的讀寫使用訪問數(shù)組元素時(shí),將索引轉(zhuǎn)換為字符串,然后將其作為屬性名一樣使用。第一個(gè)參數(shù)應(yīng)該在前只展開一層數(shù)組元素不變,返回注意,只拼接第一層結(jié)構(gòu)。 此乃犀牛書(第七章 數(shù)組)讀書筆記,又結(jié)合了ES6中數(shù)組的擴(kuò)展部分做的知識(shí)梳理。精華部分就是手工繪制的兩張數(shù)組總結(jié)圖了。靈活運(yùn)用數(shù)組的各種方法是基本功,是基本功,是基本功,重要的事情說三遍。好了,正文從下面開始~ 數(shù)組的基本概念 什么...
摘要:一定義數(shù)組是按次序排列的一組值。整個(gè)數(shù)組用方括號(hào)表示,數(shù)組的值用,分割數(shù)組的數(shù)據(jù)可以是任何類型。原數(shù)組會(huì)會(huì)變化,截取的部分自動(dòng)為一個(gè)數(shù)組返回。否則,返回函數(shù)參數(shù)數(shù)組當(dāng)前項(xiàng)的值數(shù)組當(dāng)前項(xiàng)的索引數(shù)組對(duì)象本身返回值舉個(gè)例子不會(huì)改變?cè)瓟?shù)組 一、定義 數(shù)組(array)是按次序排列的一組值。每個(gè)值的位置都有編號(hào)(從0開始)。整個(gè)數(shù)組用方括號(hào)表示,數(shù)組的值用,分割;數(shù)組的數(shù)據(jù)可以是任何類型。 本質(zhì)...
閱讀 1774·2021-09-28 09:43
閱讀 1122·2021-09-23 11:22
閱讀 2738·2021-09-14 18:05
閱讀 1832·2019-08-30 15:52
閱讀 2821·2019-08-30 10:55
閱讀 2019·2019-08-29 16:58
閱讀 1332·2019-08-29 16:37
閱讀 3045·2019-08-29 16:25