jQuery的陣列處理、便利、功能齊全。一步到位的封裝了許多原生JavaScript陣列不能企及的功能。下面是jquery數組的使用詳解,需要的朋友可以參考下
1. $.each(array, [callback]) 遍歷[常用]
解釋: 不同於例遍jQuery對象的$().each()方法,此方法可用來例遍任何物件。 回呼函數有兩個參數:第一個為物件的成員或陣列的索引, 第二個為對應變數或內容. 如果需要退出each循環可使回呼函數傳回false, 其它傳回值將被忽略。
each遍歷,相信都不陌生,在平常的事件處理中,是for迴圈的變體,但比for迴圈強大。在數組中,它可以輕鬆的攻取數組索引及對應的值。例:
程式碼如下:
var _mozi=['墨家','墨子','墨翟','兼爱非攻','尚同尚贤']; //本文所用到的数组, 下同 $.each(_mozi,function(key,val){ //回调函数有两个参数,第一个是元素索引,第二个为当前值 alert('_mozi数组中 ,索引 : '+key+' 对应的值为: '+val); });
相對於原生的for..in,each更強壯一點。 for..in也可以遍歷數組,並傳回對應索引,但值是需要透過arrName[key]來取得。
2. $.grep(array, callback, [invert])過濾數組[常用]
解釋: 使用過濾函數過濾數組元素.此函數至少傳遞兩個參數(第三個參數為true或false,對過濾函數返回值取反,個人覺得用處不大): 待過濾數組和過濾函數. 過濾函數必須返回true以保留元素或false 以刪除元素. 另外,過濾函數還可以是可設定為一個字條串。
程式碼如下:
$.grep(_mozi,function(val,key){ //过滤函数有两个参数,第一个为当前元素,第二个为元素索引 if(val=='墨子'){ alert('数组值为 墨子 的下标是: '+key); } }); var _moziGt1=$.grep(_mozi,function(val,key){ return key>1; }); alert('_mozi数组中索引值大于1的元素为: '+_moziGt1); var _moziLt1=$.grep(_mozi,function(val,key){ return key>1; },true); //此处传入了第三个可靠参数,对过滤函数中的返回值取反 alert('_mozi数组中索引值小于等于1的元素为: '+_moziLt1);
3. $.map(array,[callback])以給定條件轉換陣列[一般]
解釋:作為參數的轉換函數會為每個數組元素調用, 而且會給這個轉換函數傳遞一個表示被轉換的元素作為參數. 轉換函數可以返回轉換後的值、null(刪除數組中的項目)或一個包含值的陣列, 並擴展至原始數組中。
這個是個很強大的方法,但並不常用. 它可以根據特定條件,更新數組元素值,或根據原值擴展一個新的副本元素。
程式碼如下:
var _mapArrA=$.map(_mozi,function(val){ return val+'[新加]'; }); var _mapArrB=$.map(_mozi,function(val){ return val=='墨子' ? '[只给墨子加]'+val : val; }); var _mapArrC=$.map(_mozi,function(val){ //为数组元素扩展一个新元素 return [val,(val+'[扩展]')]; }); alert('在每个元素后面加\'[新加]\'字符后的数组为: '+ _mapArrA); alert('只给元素 墨子 添加字符后的数组为: '+ _mapArrB); alert('为原数组中每个元素,扩展一个添加字符\'[新加]\'的元素,返回的数组为 '+_mapArrC);
4 .$.inArray(val,array)判斷值是否存在於數組中[常用]
#解釋:確定第一個參數在陣列中的位置, 從0開始計數(如果沒有找到則回傳-1)。
記得indexOf()方法了嗎? indexOf()傳回字串的首次出現位置,而$.inArray()傳回的是傳入參數在陣列中的位置,同樣的,如果找到的,傳回的是一個大於或等於0 的值,若未找到則回傳-1.現在, 知道怎麼用了吧. 有了它, 判斷某個值是否存在於數組中,就變得輕而易舉了。
程式碼如下:
var _exist=$.inArray('墨子',_mozi); var _inexistence=$.inArray('卫鞅',_mozi) if(_exist>=0){ alert('墨子 存在于数组_mozi中,其在数组中索引值是: '+_exist); } if(_inexistence<0){ alert('卫鞅 不存在于数组_mozi中!,返回值为: '+_inexistence+'!'); }
5 .$.merge(first,second)合併兩個陣列[一般]
##解釋: 傳回的結果會修改第一個陣列的內容-第一個陣列的元素後面跟著第二個陣列的元素。這個方法是用jQuery的方法取代原生concat()方法, 但功能並沒有concat()強大, concat()可以同時合併多個陣列。 程式碼如下://原生concat()可能比它还简洁点 _moziNew=$.merge(_mozi,['鬼谷子','商鞅','孙膑','庞涓','苏秦','张仪']) alert('合并后新数组长度为: '+_moziNew.length+'. 其值为: '+_moziNew);6 .$.unique(array)過濾數組中重複元素[不常用]解釋: 刪除數組中重複元素. 只處理刪除DOM元素數組,而不能處理字串或數字數組。 第一次看到這個方法,覺得這是個很便捷的方法, 可以過濾重複,多完美。但仔細一看, 僅限處理DOM元素,功能8折了。所以, 我給它定義成了一個不常用的元素, 至少, 我用jQuery以來沒用過它。
程式碼如下:
var _h2Arr=$.makeArray(h2obj); //将数组_h2Arr重复一次 _h2Arr=$.merge(_h2Arr,_h2Arr); var _curLen=_h2Arr.length; _h2Arr=$.unique(_h2Arr); var _newLen=_h2Arr.length; alert('数组_h2Arr原长度值为: '+_curLen+' ,过滤后为: '+_newLen +' .共过滤 '+(_curLen-_newLen)+'个重复元素')7. $.makeArray(obj) 將類別陣列物件轉換為陣列[不常用]
解釋: 將類別陣列物件轉換為陣列物件, 類別陣列物件有length 屬性,其成員索引為0至length-1。
這是個多餘的方法, 無所不能的$本來就包含了這個功能。 jQuery官網上解釋的非常模糊,其實, 它就是將某個類別數組物件(比如用
getElementsByTagName取得的元素物件集合)轉換成陣列物件。
程式碼如下:
var _makeArr=$.makeArray(h2obj); alert('h2元素对象集合的数据 类型转换 为: '+_makeArr.constructor.name);//输出Array8. $(dom).toArray()將所有DOM元素恢復成陣列[不常用]
#解釋: 把jQuery集合中所有DOM元素還原成一個陣列。不常用的方法, 個人甚至覺得它和$.makeArray一樣多餘.
程式碼如下:
var _toArr=$('h2').toArray(); alert('h2元素集合恢复后的 数据类型 是: '+_toArr.constructor.name);
以上是jquery基之數組的使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

Python更适合数据科学和机器学习,JavaScript更适合前端和全栈开发。1.Python以简洁语法和丰富库生态著称,适用于数据分析和Web开发。2.JavaScript是前端开发核心,Node.js支持服务器端编程,适用于全栈开发。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Atom編輯器mac版下載
最受歡迎的的開源編輯器