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

上一篇文章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('-');
str3=arr.join('==');
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('');
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 = [{姓名: '李华'}, '张三', '李四'];

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

7.png

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

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

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...