js實作字串和陣列之間相互轉換操作
本文實例介紹了javascript中字串和陣列的相互轉換方法,分享給大家供大家參考,具體內容如下
字串和陣列的相互轉換操作是非常的重要的,因為在實際編碼過程中會經常用到,所以這是必須要掌握的知識點,當然這個知識點並不難,知道了就永遠知道了,並不是那種需要充分實踐才能夠掌握的東西,下面就做一下簡單的介紹。
一.字串轉換為數組
此操作會用到split()函數,它能夠以指定的字元作為分隔符,將字串轉換成一個數組,實例代碼如下:
var Str="abc-mng-zhang-mayi"; var newArray=Str.split("-"); console.log(newArray);
由輸出的結果可以看出,split()函數已經將字串轉換成一個陣列。
二.將陣列轉換為字串
此操作可以使用Array物件的join()函數來實現,此函數可以將陣列中的元素以指定的字元連接起來,然後傳回產生的字串。
程式碼如下:
var newArray=["abc","mng","zhang","mayi"]; var Str=newArray.join("-"); console.log(Str);
以上程式碼實現了我們的要求,使用"-"將陣列元素連接了起來,並產生了一個字串。
上面的兩個例子都是使用的自帶的函數,當然我們也可以自己寫,這樣靈活性更大,並且知根知底。
三.自訂字串轉換為陣列
function StringToArray(str,substr) { var arrTmp=new Array(); if(substr=="") { arrTmp.push(str); return arrTmp; } var i=0,j=0,k=str.length; while(i<k) { j=str.indexOf(substr,i); if(j!=-1) { if(str.substring(i,j)!="") { arrTmp.push(str.substring(i,j)); } i = j+1; } else { if(str.substring(i,k)!="") { arrTmp.push(str.substring(i,k)); } i=k; } } return arrTmp; } var Str="abc-mng-zhang-mayi"; console.log(StringToArray(Str,"-")); console.log(StringToArray(Str,"-").length);
以上程式碼同樣實作了將字串轉換為陣列的功能,下面對程式碼進行一下註解:
程式碼註解:
1.function StringToArray(str,substr ){},此函數用來進行轉化,str是要被轉換的字串,substr是分隔符號。
2. var arrTmp=new Array(),宣告一個數組,用來存放分割的字串片段。
3.if(substr=="") {arrTmp.push(str);return arrTmp;},如果字串分隔符號為空,那麼就將整個字串放入陣列。
4. var i=0,j=0,k=str.length;宣告三個變量,並賦初值,k的值是字串中字元的個數。
5.while(i
7.if(j!=-1),如果找到的分隔符號存在。
8.if(str.substring(i,j)!=""){},截取從開始尋找位置到查詢找到第一個分隔符號之間的字串。
9.arrTmp.push(str.substring(i,j));,將截取的字串放入陣列。
10.i=j+1;將開始尋找的位置設定為分隔符號的下一個字元。
11.else{},如果沒有找。
12.if(str.substring(i,k)!=""){arrTmp.push(str.substring(i,k));},如果最後一個分隔符號之後的字元不為空,那麼就加入到數組。
13.i=k,將i設為k,這樣循環就停止了。
14.return arrTmp; 傳回數組。
相關知識:
1.push()方法的定義與用法:
此方法可以給指定的陣列結尾追加一個或多個新的元素,並傳回陣列的長度。
註:新元素是直接追加到原有的數組,而不是建立新的陣列。
點選可參考數組更多屬性和方法。
語法結構:
arrayObject.push(元素一,元素二,....,元素N)
參數清單:
參數 描述
參數(一...N) 必需。要被追加的新元素。
實例代碼:
var a = [1,2,3]; console.log(a.push("zhang","dao"));
2.indexOf()方法的定義和用法:
此方法傳回指定的字串在字串中首次出現的位置。
如果沒有檢索到對應的字串,回傳值是-1。
註:此方法對大小寫敏感。
語法結構:
stringObject.indexOf(substring,startindex)
實例程式碼:
var a=new String("abcdefg") console.log(a.indexOf("b"));
b在字串abcdefg中第二個出現。輸出結果:1。
var a=new String("abcdefg") console.log(a.indexOf("b"));
此方法對大小寫敏感的,所以字串abcdefg中並沒有大寫的B出現。輸出結果:-1。
var a=new String("abcdefg") console.log(a.indexOf("e",4));
檢索開始的位置是4,字串首次出現的位置還是從字串的起始開始計算的。輸出結果:4。
3.substring()函數。
四.自訂陣列轉換為字串
function ArrayToString(arr,str) { var strTmp=""; for(var i=0;i<arr.length;i++) { if(arr[i]!="") { if(strTmp=="") { strTmp = arr[i]; } else { strTmp=strTmp+str+arr[i]; } } } return strTmp; } var newArray=["abc","mng","zhang","mayi"]; console.log(ArrayToString(newArray,"-"));
以上程式碼實現了我們的要求,可以將陣列轉換為字串,下面對程式碼進行一下註解:
程式碼註解:
1.function ArrayToString(arr,str){},第一個參數是數組,第二個參數是連接字串。
2.var strTmp="",宣告一個空字串。
3.for(var i=0;i
5.if(strTmp=="") {strTmp=arr;},如果字串中也為空,那麼就將陣列中的此元素賦值為字串strTmp。
6.else{strTmp=strTmp+str+arr},否則進行字串連接。
7.return strTmp,傳回轉換後的字串。
以上就是js實作字串和陣列之間相互轉換的詳細程式碼,希望對大家的學習有所幫助。
更多js實作字串和陣列之間相互轉換操作相關文章請關注PHP中文網!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

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

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

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

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

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

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

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

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