您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Jquery遍歷篩選數(shù)組的方法有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Jquery遍歷篩選數(shù)組的方法有哪些”這篇文章吧。
1.jquery grep()篩選遍歷數(shù)組(可以得到反轉的數(shù)組)
// 1.jquery grep()篩選遍歷數(shù)組(可以得到反轉的數(shù)組) var array = [1,5,9,3,12,4,48,98,4,75,2,10,11]; var filterArray = $.grep(array,(currentValue) => { return currentValue > 10; }); console.log(`${filterArray}---${filterArray.length}`);//12,48,98,75,11---5 var filterReverse = $.grep(array,(currentValue) => { return currentValue > 10; },true); console.log(`${filterReverse}---${filterReverse.length}`);//1,5,9,3,4,4,2,10---8 // for(var i=0;i<filterArray.length;i++){ // console.log(filterArray[i]); // } for(key in filterArray){ console.log(filterArray[key]) }
2.filter()篩選遍歷數(shù)組(與grep()不同的是調用者不同,參數(shù)不同)
var ages = [32, 33, 16, 40, 45, 98, 12, 35, 8,16]; var filterAges = ages.filter((currentValue,index,ages) => { return currentValue > 20; }) console.log(filterAges);//[32, 33, 40, 45, 98, 35] for(key in filterAges){ console.log(filterAges[key]) }
3.jquery each()篩選遍歷數(shù)組(主要用來遍歷對象)
var anObject = {one:1,two:2,three:3};//對json數(shù)組each $.each(anObject,function(name,value) { console.log(`${name}---${value}`) }); var anArray = ['one','two','three']; $.each(anArray,function(n,value){ console.log(`${n}---${value}`) });
4.jquery forEach()篩選遍歷數(shù)組
var forArray = ['mu','zi','muzi','digbig','muzidigbig']; forArray.forEach((currentValue,index,forArray) => { console.log(`${index}---${currentValue}`) })
5.jquery map()篩選遍歷數(shù)組
var strings = ['0','1','2','3','4','S','6']; var values = $.map(strings,function(value){ var result = new Number(value); return isNaN(result) ? null:result;//isNaN:is Not a Number的縮寫 }); for (key in values) { console.log(values[key]); }
6.jquery inArray()篩選遍歷數(shù)組(用于查找某個值第一次在數(shù)組中出現(xiàn)的位置)
var iArray = ['one','two','three','two']; var index = $.inArray('two',anArray); console.log(`返回該值在數(shù)組中的鍵值:${index}`);//返回該值在數(shù)組中的鍵值,返回 1 console.log(`返回該鍵在數(shù)組中的值:${iArray[index]}`);//two
7.indexOf()用于查找某個值第一次在數(shù)組中出現(xiàn)的位置(存在返回第一次出現(xiàn)的索引值,不存在返回-1)
var iArray = ['one','two','three','two']; var indexOf = iArray.indexOf('two'); console.log(indexOf);//1
8.includes()(判斷數(shù)組中是否存在某個值返回Boolean類型)
var iArray = ['one','two','three','two']; var index = iArray.includes('two'); console.log(index);//true
二、遍歷解析json對象
1.遍歷json 1
var json = [{dd:'SB',AA:'東東',re1:123},{cccc:'dd',lk:'1qw'}]; for(var i=0,l=json.length;i<l;i++){ for(var key in json[i]){ console.log(`${key}:${json[i][key]}`); } }
2、jquery遍歷解析json對象 2
有如下 json對象:
var obj ={'name':'馮娟','password':'123456','department':'技術部','sex':'女','old':30};
遍歷方法:
var obj ={'name':'馮娟','password':'123456','department':'技術部','sex':'女','old':30}; var str = ''; for(var p in obj){ str += obj[p]+','; // return str; } console.log(str);//馮娟,123456,技術部,女,30,
三、Map()方法詳解
1、實例
構建表單中所有值的列表:
$("p").append( $("input").map(function(){ return $(this).val(); }).get().join(", ") );
2、定義和用法
map()
把每個元素通過函數(shù)傳遞到當前匹配集合中,生成包含返回值的新的 jQuery 對象。
3、語法
.map(callback(index,domElement))
參數(shù)
描述
callback(index,domElement) 對當前集合中的每個元素調用的函數(shù)對象。
詳細說明
由于返回值是 jQuery 封裝的數(shù)組,使用 get() 來處理返回的對象以得到基礎的數(shù)組。
.map() 方法對于獲得或設置元素集的值特別有用。請思考下面這個帶有一系列復選框的表單:
<form method="post" action=""> <fieldset> <div> <label for="two">2</label> <input type="checkbox" value="2" id="two" name="number[]"> </div> <div> <label for="four">4</label> <input type="checkbox" value="4" id="four" name="number[]"> </div> <div> <label for="six">6</label> <input type="checkbox" value="6" id="six" name="number[]"> </div> <div> <label for="eight">8</label> <input type="checkbox" value="8" id="eight" name="number[]"> </div> </fieldset> </form>
我們能夠獲得復選框 ID 組成的逗號分隔的列表:
$(':checkbox').map(function() { return this.id; }).get().join(',');
本次調用的結果是字符串:"two,four,six,eight"。
在 callback 函數(shù)內部,this 引用每次迭代的當前 DOM 元素。該函數(shù)可返回單獨的數(shù)據(jù)項,或者是要被插入結果集中的數(shù)據(jù)項的數(shù)組。如果返回的是數(shù)組,數(shù)組內的元素會被插入集合中。如果函數(shù)返回 null 或 undefined,則不會插入任何元素。
以上是“Jquery遍歷篩選數(shù)組的方法有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。