首页  >  文章  >  web前端  >  JS数组学习之怎么拼接全部元素,返回一个字符串

JS数组学习之怎么拼接全部元素,返回一个字符串

青灯夜游
青灯夜游原创
2021-08-19 14:17:204919浏览

在上一篇文章《JS数组学习之如何根据数组下标删除任意元素》中,我们介绍了使用delete运算符或splice()方法根据数组下标来删除数组元素的方法。这次我们继续JavaScript数组的学习和练习,看看怎么将数组转为字符串,感兴趣的朋友可以学习了解一下~

本文的主题是:数组中的全部元素拼接成一个字符串,简单来说就是将数组转为一个字符串。例如下面的一个数组:

arr = [1,2,3,4,5,6,7,8,9,0];

想要拼接其中的所有元素,返回一个字符串,例如“1234567890”或者“1,2,3,4,5,6,7,8,9,0”,这要怎么操作?下面我们介绍几种方法。

方法一:使用for循环遍历数组,拼接每个数组元素

遍历数组我们使用for循环;拼接可以利用字符串连接运算符“+”、也可使用concat()方法(具体可以阅读文章《JS字符串学习之巧用函数来连接多个字符串》)

我们看看实现代码:

var arr = [1,2,3,4,5,6,7,8,9,0];
var i,str="";
for(i=0;i<arr.length;i++){  //循环遍历数组
	//拼接
	str=str.concat(arr[i]);
	//str=str + arr[i];
}
console.log(str);

输出结果:

1.png

说明:这种方法适用于一维数组转字符串。

方法二:使用toString()方法

toString()可以把每个元素转换为字符串,然后以逗号连接输出显示。(注:toString()方法不支持自定义分隔符!)

var arr = [1,2,3,4,5,6,7,8,9,0];
var str;
str=arr.toString();
console.log(str);

4.png

toString()方法可以处理多维数组,会以迭代的方式把所有数组都转换为字符串。

var arr = [1,[2,3],[4,5],[6,[7,[8,9],0]]];
var str;
str=arr.toString();
console.log(str);

5.png

方法三:使用join()方法

array.join(separator)方法用于把数组 array 中的所有元素放入一个字符串,每个元素可以使用 separator参数设置的分隔符进行分隔;如果省略该参数,则默认使用逗号“,”分隔(这就和toString()方法的输出一样了)。

var arr = [1,2,3,4,5,6,7,8,9,0];
var str1,str2,str3;
str1=arr.join();
str2=arr.join(&#39;-&#39;);
str3=arr.join(&#39;==&#39;);
console.log(str1);
console.log(str2);
console.log(str3);

2.png

如果不想有分隔符,那么可以设置separator参数为空字符串('');

var arr = [1,2,3,4,5,6,7,8,9,0];
var str;
str=arr.join(&#39;&#39;);
console.log(str);

3.png

join()方法也可以处理多维数组,不过需要省略参数,输出和toString()一样:

var arr = [1,[2,3],[4,5],[6,[7,[8,9],0]]];
var str;
str=arr.join();
console.log(str);

6.png

说明:

如果数组中包括了对象(非简单类型),那么调用join()和toString()方法所出来的结果,无论该元素的内容是什么,都是显示[object Object]字符串。

var arr = [{姓名: &#39;李华&#39;}, &#39;张三&#39;, &#39;李四&#39;];

console.log(arr.toString()); // "[object Object],张三,李四"
console.log(arr.join()); // "[object Object],张三,李四"

7.png

一般在实际的场景中,join()方法使用得较多。

好了,就说到这里了,有需要的可以看:javascript高级教程

以上是JS数组学习之怎么拼接全部元素,返回一个字符串的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn