This article introduces the mutual conversion method between strings and arrays in JavaScript and shares it with you for your reference. The specific content is as follows
The conversion operation between strings and arrays is very important, because it is often used in the actual coding process, so this is a knowledge point that must be mastered. Of course, this knowledge point is not difficult. Once you know it, you will know it forever. It is not something that requires sufficient practice to master. Here is a brief introduction.
1. Convert string to array
This operation will use the split() function, which can use the specified character as the delimiter to convert the string into an array. The example code is as follows:
var Str="abc-mng-zhang-mayi"; var newArray=Str.split("-"); console.log(newArray);
As can be seen from the output, the split() function has converted the string into an array.
2. Convert array to string
This operation can be implemented using the join() function of the Array object. This function can connect the elements in the array with specified characters and then return the resulting string.
The code is as follows:
var newArray=["abc","mng","zhang","mayi"]; var Str=newArray.join("-"); console.log(Str);
The above code implements our requirements, using "-" to connect the array elements and generate a string.
The two examples above all use the built-in functions. Of course, we can also write our own, which will be more flexible and know the basics.
3. Convert custom string to array
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);
The above code also implements the function of converting a string into an array. Let’s comment on the code:
Code comments:
1.function StringToArray(str,substr){}, this function is used for conversion, str is the string to be converted, and substr is the delimiter.
2. var arrTmp=new Array(), declares an array to store split string fragments.
3.if(substr=="") {arrTmp.push(str);return arrTmp;}, if the string delimiter is empty, then the entire string is put into the array.
4. var i=0,j=0,k=str.length; declare three variables and assign initial values. The value of k is the number of characters in the string.
5.while(i
7.if(j!=-1), if the delimiter searched exists.
8.if(str.substring(i,j)!=""){}, intercept the string from the starting position to the first delimiter.
9.arrTmp.push(str.substring(i,j));, put the intercepted string into the array.
10.i=j 1; Set the starting position of the search to the next character of the separator.
11.else{}, if there is no search.
12.if(str.substring(i,k)!=""){arrTmp.push(str.substring(i,k));}, if the character after the last delimiter is not empty, then add it to array.
13.i=k, set i to k, so the loop stops.
14.return arrTmp; Returns an array.
Related knowledge:
1.Definition and usage of push() method:
This method can append one or more new elements to the end of the specified array and return the length of the array.
Note: New elements are appended directly to the original array instead of creating a new array.
Click to see more properties and methods of the array.
Grammatical structure:
arrayObject.push(element one, element two, ...., element N)
Parameter list:
Parameter Description
Parameters(a...N) Required. The new element to be appended.
Example code:
var a = [1,2,3]; console.log(a.push("zhang","dao"));
2.Definition and usage of indexOf() method:
This method returns the position of the first occurrence of the specified string in a string.
If the corresponding string is not retrieved, the return value is -1.
Note: This method is case sensitive.
Grammatical structure:
stringObject.indexOf(substring,startindex)
Example code:
var a=new String("abcdefg") console.log(a.indexOf("b"));
b appears second in the string abcdefg. Output results: 1.
var a=new String("abcdefg") console.log(a.indexOf("B"));
This method is case-sensitive, so there is no uppercase B in the string abcdefg. Output result: -1.
var a=new String("abcdefg") console.log(a.indexOf("e",4));
The starting position of the search is 4, and the position where the string first appears is calculated from the beginning of the string. Output result: 4.
3.substring() function.
4. Convert custom array to string
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,"-"));
The above code achieves our requirements and can convert the array into a string. Let’s comment on the code:
Code comments:
1.function ArrayToString(arr,str){}, the first parameter is the array, and the second parameter is the connection string.
2.var strTmp="", declare an empty string.
3.for(var i=0;i
5.if(strTmp=="") {strTmp=arr;}, if the string is also empty, then assign this element in the array to the string strTmp.
6.else{strTmp=strTmp str arr}, otherwise perform string concatenation.
7.return strTmp, returns the converted string.
The above is the detailed code for converting between strings and arrays in js. I hope it will be helpful to everyone's learning.