篩選數(shù)組

最近在看關(guān)于jq的相關(guān)內(nèi)容正好看到了關(guān)于數(shù)組篩選的相關(guān)內(nèi)容就做了些整理狂票。
篩選數(shù)組是對需要頻繁處理大量數(shù)據(jù)的應(yīng)用來說的并且遍歷數(shù)組主要是查找(篩選)匹配一定標(biāo)準(zhǔn)的元素。數(shù)組中我們在查找高于或低于特定臨界值熙暴,或者可能是匹配一些數(shù)據(jù)時苫亦,jq就提供了一個函數(shù)$.grep()。

$.grep() 方法是按照某種條件來過濾數(shù)組怨咪。
$.grep(array,callback,invert)  //調(diào)用的方式

array:待過濾數(shù)組;
callback:處理數(shù)組中的每個元素屋剑,并過濾元素,該函數(shù)中包含兩個參數(shù)诗眨,第一個是當(dāng)前數(shù)組元素的值唉匾,一個是當(dāng)前數(shù)組元素的下標(biāo),即元素索引值匠楚。此函數(shù)應(yīng)返回一個布爾值巍膘。
invert:布爾型可選項,默認(rèn)值false芋簿,值為true或false峡懈, 如果 “invert” 為 false 或為設(shè)置,則函數(shù)返回數(shù)組中由過濾函數(shù)返回 true 的元素与斤,當(dāng)”invert” 為 true肪康,則返回過濾函數(shù)中返回 false 的元素集荚恶。

var arr=$.grep([0,1,2,3,4,5,6],function(n,i){
return n>2
});

上面的例子返回[3,4,5,6],但是我們給invert的值為true磷支,例如

var arr=$.grep([0,1,2,3,4,5,6],function(n,i){
return n>2
},ture);

所以現(xiàn)在返回的是[0,1,2]谒撼,也就是被callback函數(shù)過濾掉的元素。
再來個例子看看$.grep()

var nums = '1,2,3,4,5,jQuery,CSS,5'.split(',');

如果我們想找出其中的字符串雾狈,我們可以直接使用 $.grep() 方法來完成:

nums = $.grep(nums, function (num, index) {
 // num = 數(shù)組元素的當(dāng)前值  
// index = 當(dāng)前值的下標(biāo)
 return isNaN(num);});   //isNaN() 函數(shù)用于檢查其參數(shù)是否是非數(shù)字值廓潜。
console.log(nums); //結(jié)果為: ["jQuery", "CSS"] 

看到這肯定都想到了$.map() 方法也可將一個數(shù)組轉(zhuǎn)換為另一個數(shù)組,所以善榛,使用 $.map() 方法也可以完成上面例子中的要求辩蛋,如下:

nums = $.map(nums, function (num, index) { 
//和$.grep() 的區(qū)別
 //return isNaN,得到結(jié)果為:[true, true] 
return isNaN(num) ? num : null;});
console.log(nums); // ["jQuery", "CSS"] 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市移盆,隨后出現(xiàn)的幾起案子堪澎,更是在濱河造成了極大的恐慌,老刑警劉巖味滞,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件樱蛤,死亡現(xiàn)場離奇詭異,居然都是意外死亡剑鞍,警方通過查閱死者的電腦和手機昨凡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蚁署,“玉大人便脊,你說我怎么就攤上這事」飧辏” “怎么了哪痰?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長久妆。 經(jīng)常有香客問我晌杰,道長,這世上最難降的妖魔是什么筷弦? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任肋演,我火速辦了婚禮,結(jié)果婚禮上烂琴,老公的妹妹穿的比我還像新娘爹殊。我一直安慰自己,他們只是感情好奸绷,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布梗夸。 她就那樣靜靜地躺著,像睡著了一般号醉。 火紅的嫁衣襯著肌膚如雪反症。 梳的紋絲不亂的頭發(fā)上辛块,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機與錄音惰帽,去河邊找鬼。 笑死父虑,一個胖子當(dāng)著我的面吹牛该酗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播士嚎,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼呜魄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了莱衩?” 一聲冷哼從身側(cè)響起爵嗅,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎笨蚁,沒想到半個月后睹晒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡括细,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年伪很,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奋单。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡锉试,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出览濒,到底是詐尸還是另有隱情呆盖,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布贷笛,位于F島的核電站应又,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏乏苦。R本人自食惡果不足惜丁频,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望邑贴。 院中可真熱鬧席里,春花似錦、人聲如沸拢驾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽繁疤。三九已至咖为,卻和暖如春秕狰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背躁染。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工鸣哀, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人吞彤。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓我衬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親饰恕。 傳聞我的和親對象是個殘疾皇子挠羔,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)埋嵌,斷路器破加,智...
    卡卡羅2017閱讀 134,651評論 18 139
  • 在挖掘分析的過程當(dāng)中對字符串的處理是極為重要的,且出現(xiàn)也較為頻繁雹嗦,R語言作為當(dāng)前最為流行的開源數(shù)據(jù)分析和可視化平臺...
    果果哥哥BBQ閱讀 5,813評論 0 8
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式范舀。設(shè)計者無需花費時間糾纏JS復(fù)雜的高級特性。 1....
    LaBaby_閱讀 1,335評論 0 2
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式了罪。設(shè)計者無需花費時間糾纏JS復(fù)雜的高級特性尿背。 1....
    LaBaby_閱讀 1,171評論 0 1
  • 經(jīng)歷了一周的悶熱與疲勞,終于迎來了周六的神清氣爽捶惜,遂爽快的答應(yīng)同學(xué)邀請騎行去十三陵田藐。我借了輛破自行車,一路折磨得我...
    DukeZhang閱讀 783評論 1 0