Home > Web Front-end > JS Tutorial > body text

js implements conversion operations between strings and arrays

高洛峰
Release: 2017-02-06 09:48:42
Original
1288 people have browsed it

The example of this article introduces the mutual conversion method of strings and arrays in JavaScript, and shares it with everyone for your reference. The specific content is as follows
The mutual conversion operation of strings and arrays is very important, because in the actual encoding process It is often used in the Chinese Communist Party, 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. Let’s do a simple introduce.
1. Convert a string to an array
This operation will use the split() function, which can use the specified character as the separator 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);
Copy after login

It can be seen from the output that the split() function has converted the string into an array.
2. Convert the array to a string
This operation can be achieved 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);
Copy after login

The above code realizes our requirements, using "-" to connect the array elements and generate a string.
The above two examples are all using the built-in functions. Of course, we can also write our own, which will be more flexible and know the basics.
3. Convert a custom string to an 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);
Copy after login

The above code also implements the function of converting a string into an array. Here are some comments 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(i6.j=str.indexOf(substr,i), used to detect the position of the separator in the string. If the indexOf() function has two parameters, the second parameter is to find the beginning of the specified character. Location, this code should be understood in conjunction with the following code.
7.if(j!=-1), if the searched separator exists.
8.if(str.substring(i,j)!=""){}, intercept the string from the starting search 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 not found.
12.if(str.substring(i,k)!=""){arrTmp.push(str.substring(i,k));}, if the character after the last delimiter is not empty, then Just add it to the 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.
Syntax structure:
arrayObject.push(element one,element two,....,element N)

Parameter list:
Parameter description
Parameter (one... N) Required. The new element to be appended.

Instance code:

var a = [1,2,3];
console.log(a.push("zhang","dao"));
Copy after login

2.Definition and usage of indexOf() method:
This method returns the first occurrence of the specified string in the string Location.
If the corresponding string is not retrieved, the return value is -1.
Note: This method is case sensitive.
Syntax structure:
stringObject.indexOf(substring,startindex)

Instance code:

var a=new String("abcdefg")
console.log(a.indexOf("b"));
Copy after login

b appears second in the string abcdefg. Output results: 1.

var a=new String("abcdefg")
console.log(a.indexOf("B"));
Copy after login

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));
Copy after login

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,"-"));
Copy after login

The above code meets 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="", declares an empty string.
3.for(var i=0;i4.f(arr!=""){}If the array element is not empty.
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, return 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.

For more articles related to js implementation of conversion operations between strings and arrays, please pay attention to the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!