在上一篇文章《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);
输出结果:
说明:这种方法适用于一维数组转字符串。
方法二:使用toString()方法
toString()可以把每个元素转换为字符串,然后以逗号连接输出显示。(注:toString()方法不支持自定义分隔符!)
var arr = [1,2,3,4,5,6,7,8,9,0]; var str; str=arr.toString(); console.log(str);
toString()方法可以处理多维数组,会以迭代的方式把所有数组都转换为字符串。
var arr = [1,[2,3],[4,5],[6,[7,[8,9],0]]]; var str; str=arr.toString(); console.log(str);
方法三:使用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);
如果不想有分隔符,那么可以设置separator参数为空字符串(''
);
var arr = [1,2,3,4,5,6,7,8,9,0]; var str; str=arr.join(''); console.log(str);
join()方法也可以处理多维数组,不过需要省略参数,输出和toString()一样:
var arr = [1,[2,3],[4,5],[6,[7,[8,9],0]]]; var str; str=arr.join(); console.log(str);
说明:
如果数组中包括了对象(非简单类型),那么调用join()和toString()方法所出来的结果,无论该元素的内容是什么,都是显示[object Object]
字符串。
var arr = [{姓名: '李华'}, '张三', '李四']; console.log(arr.toString()); // "[object Object],张三,李四" console.log(arr.join()); // "[object Object],张三,李四"
一般在实际的场景中,join()方法使用得较多。
好了,就说到这里了,有需要的可以看:javascript高级教程
以上就是JS数组学习之怎么拼接全部元素,返回一个字符串的详细内容,更多请关注php中文网其它相关文章!
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/146587.html