【JS】数组和字符串之间的转换

【JS】数组和字符串之间的转换最近,我算是和数组杠上了,今天来说说数组和字符串之间的相互转换。你知道的都有哪些方法呢?下面说一说比较常见的几种,嘿嘿(不常见的我也不一定知道啊)。一、数组转字符串1、toString()返回一个字符串,表示指定的数组及其元素举个栗子,看下效果:constarr=[1,2,3,4];arr.toString();//”1,2,3,4″现在确实是个字符串了,但问题又来了,有什么办法可以把中间的逗号去掉吗?简单点,直接使用replace或者replaceA

大家好,欢迎来到IT知识分享网。【JS】数组和字符串之间的转换"

最近,我算是和数组杠上了,今天来说说数组和字符串之间的相互转换。

你知道的都有哪些方法呢?

下面说一说比较常见的几种,嘿嘿(不常见的我也不一定知道啊)。

一、数组转字符串

1、toString()

返回一个字符串,表示指定的数组及其元素

举个栗子,看下效果:

const arr = [1,2,3,4];
arr.toString();  // "1,2,3,4"

现在确实是个字符串了,但问题又来了,有什么办法可以把中间的逗号去掉吗?

简单点,直接使用replace或者replaceAll(字符串的方法)。

const arr = [1,2,3,4];
const str = arr.toString();  // "1,2,3,4"

// 方法一  使用replace
str.replace(/,/g, ''); // "1234"

// 方法二  使用replaceAll
// 将所有的逗号替换成空字符串
str.replaceAll(',', ''); // "1234"

当然,也可以使用数组的join(没转成字符串之前)方法(似乎更简单?哈哈哈,大意了),下面也会讲到,先不着急。

2、toLocalString()

 返回一个字符串表示数组中的元素

是不是和toString()长得很像?其实,它俩的用法也差不多,差异点主要在于两点:

  • 如果是数字,toLocalString能将其转为千分符
  • 如果是日期,可转成本地的日期格式

如果有不明白的朋友,可移步tostring和toLocalString的区别,这里就不再重复了。

3、join()

将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串

语法:arr.join([separator])

  • separator 可选,指定一个字符串来分隔数组的每个元素。(如果不指定,默认是逗号分隔)
let arr = [1,2,3,4];
arr.join();  // "1,2,3,4"

如果不想要字符串中间的逗号,或者想要其他符号分隔,传参进去就好了,比如:

let arr = [1,2,3,4];

// 默认以逗号分隔
arr.join(); // "1,2,3,4"

// 以空字符串分隔
arr.join(''); // "1234"

// 以-分隔
arr.join('-'); // "1-2-3-4"

数组转字符串的差不多了,接下来看看字符串转数组的吧!

二、字符串转数组

1、split()

使用指定的分隔符字符串将一个String对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置

语法:str.split([separator[, limit]])

  • separator  可选,指定表示每个拆分应发生的点的字符串
  • limit  可选,一个整数,限定返回的分割片段数量
let str = "hello world";

// 如果在str中省略或不出现分隔符,则返回的数组包含一个由整个字符串组成的元素
str.split();  // ["hello world"]

// 以空字符串分隔
str.split('');  // ["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d"]

// 以空格作为分隔符
str.split(' '); // ["hello", "world"]

2、Array.from()

从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例 

let str = "hello world";

Array.from(str); // ["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d"]

效果和split使用空字符串的方法是一样的。如果不想要中间的空格,也可以使用replace或者replaceAll先把空格去掉。

总之,数组和字符串之前转换的方法有很多,根据个人习惯来即可。

如果有更好的方法,也请各位不吝赐教,咱们共同进步呀! 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/12348.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信