這次帶給大家JavaScript的陣列使用集合,JavaScript陣列使用集合的注意事項有哪些,下面就是實戰案例,一起來看一下。
1.join() 將陣列中的所有元素轉換為字串並連接在一起
var a=[1,2,3,4]; a.join(); //"1,2,3,4"
2.reverser() 將陣列中的元素顛倒順序,傳回逆序的陣列。
var a[1,2,3,4]; a.reverse(); //[4,3,2,1]
3.sort() 將陣列中的元素排序並傳回排序後的陣列。
當不帶參數呼叫sort()時,陣列元素會以字母表順序排序。
var a=['ant','Bug','cat','Dog']; a.sort(); //["Bug", "Dog", "ant", "cat"] a.sort(function(s,t){ var s1=s.toLowerCase(); var t1=t.toLowerCase(); if(s1<t1) return -1; if(s1>t1) return 1; return 0});//["ant", "BUg", "cat", "Dog"]
4.concat() 建立並傳回一個新數組,它的元素包括呼叫concat()的原始數組的元素和concat()的每個參數。如果這些參數中的任何一個本身是數組,則連接的是數組元素,而非數組本身。
var a=[1,2,3];a.concat(4,5);// [1, 2, 3, 4, 5]a.concat([4,5]);// [1, 2, 3, 4, 5]a.concat([4,5],[6,7]);// [1, 2, 3, 4, 5, 6, 7]a.concat([4,5],[6,[8,7]]);// [1, 2, 3, 4, 5, 6,[8,7]]
5.slice() 傳回指定陣列的片段或子陣列。它的兩個參數分別指定了片段的開始和結束的位置。傳回的陣列包含第一個參數指定的位置和所有到但不含第二個參數指定的位置之間的所有資料元素。
如果只指定一個參數,則傳回的陣列包含從開始位置到陣列結尾的所有元素。
如果參數中出現負數,它表示相對於陣列中最後一個元素的位置。例如:參數-1指定了最後一個元素,而-3指定了倒數第三個元素。
注意,slice()不會修改呼叫的陣列。
var a=[1,2,3,4,5];a.slice(0,2);//[1, 2]a.slice(3);//[4, 5]a.slice(1,-1);//[2, 3, 4]a.slice(-3,-2);//[3]
6.splice() 在陣列中插入或刪除元素的通用方法。不同於slice()和concat(),splice()會修改呼叫的陣列。注意:splice()和slice()擁有非常相似的名字,但它們的功能卻又本質的區別。
splice()能夠從陣列中刪除元素,插入元素到陣列中或同事完成這兩種操作。在插入或刪除點之後的陣列元素會根據需要增加或減少它們的索引值,因此陣列的其他部分仍然保持連續。 splice()的第一個參數指定了插入和(或)刪除的起始位置。第二個參數指定了應該從陣列中刪除的元素的個數,如果省略第二個參數,則從起始點開始到陣列結尾的所有元素都會被刪除。 splice()傳回一個由刪除元素組成的數組,或者如果沒有刪除元素就傳回一個空數組。
var a=[1,2,3,4,5,6,7,8];a.splice(4);//返回[[5, 6, 7, 8]],a是[1, 2, 3, 4]a.splice(1,2)//返回[2, 3],a是[1, 4, 5, 6, 7, 8]a.splice(1,1);//返回[2],a是 [1, 3, 4, 5, 6, 7, 8]
7.push()和pop()
push()在陣列尾部新增一個或多個元素。
pop()刪除陣列的最後一個元素。
8.unshift()和shift()
unshift()在陣列頭部新增一個或多個元素。
shift()刪除陣列的第一個元素。
9.toString()和toLocaleString()
[1,2,3].toString();//"1,2,3"[1,[2,'c']].toString();//"1,2,c"
toLocaleString()是toString()方法的局部版本。它呼叫元素的toLocaleString()方法將每個陣列元素轉換為字串,並使用本地化分隔符號將這些字串連接起來產生最終的字串。
10.forEach()從頭到尾遍歷數組,為每個元素呼叫指定的函數。
傳遞的函數做為forEach()的第一個參數,然後forEach()使用三個參數呼叫函數:陣列元素,元素的索引和陣列的本身。
var data=[1,2,3,4,5];//计算数组元素的和值var sum=0; data.forEach(function(value){ sum+=value }); sum //15//每个数组元素的值加1data.forEach(function(value,index,arr){ arr[index]=value+1; }); data //[2, 3, 4, 5, 6]
11.map()將呼叫的陣列的每個元素傳遞給指定的函數,並傳回一個數組,它包含函數的傳回值。
注意:傳遞給mao()的函數應該有回傳值。 map()傳回的是新數組,不修改原來的數組。如果原來的陣列是稀疏數組,則傳回的也是相同方式的稀疏數組,它們具有相同的長度,相同的缺失元素。
var a=[1,2,3];var b=a.map(function(value){return value*value; }); b// [1, 4, 9]
12 filter()傳回符合條件的陣列元素
var a=[1,2,3,5];var b=a.filter(function(value){return value>2; }); b // [3, 5]
13.every()和some()
陣列的邏輯判定,它們對陣列元素應用指定的函數進行判定,回傳true或false。
every()即數組中所有元素都符合篩選條件,則傳回true.
some()即數組中存在元素符合篩選條件,則傳回true;
var a =[1,2,3,4,5]; a.every(function(value){return value<10; }) //true a中所有元素都小于10a.every(function(value){return value%2===0; });//false a中不是所有元素都是偶数a.some(function(value){return value%2===0; })//true a中存在偶数
reduce()和reduceRight()
使用指定的函數將陣列元素進行組合,產生單一值。
reduce()需要兩個參數。
第一個是執行化簡操作的函數。化簡函數的任務就是用某種方法把兩個值組合或化簡為一個值,並回傳化簡後的值。第二個(可選)參數是一個傳遞給函數的初始值。
reduceRight()和reduce()使用方法一致,不同的是它按照數組索引從高到低(從右向左)處理數組。
var a=[1,2,3,4,5];var sum=a.reduce(function(x,y){return x+y;},0); sum //15 数组求和var max=a.reduce(function(x,y){return x>y?x:y}); max // 5求最大值
indexOf()和lastIndexOf()
indexOf()第一個符合條件的值的索引,如果沒有,傳回-1
lastIndexOf()最後一個符合條件的值的索引,如果沒有,返回-1
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
#以上是JavaScript的陣列使用集合的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

不同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的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Dreamweaver CS6
視覺化網頁開發工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。