数值、字符串、数组的相互转换
今天是我第一天刷力扣,我就想着通过刷题来巩固一下之间学习过的知识。
然后有一道题就需要将数字转换为字符串,然后倒转,比较是否相等。
这里我就想把之前学习到数字、字符串、数组的相互转换方法总结一下。
数值转换为字符串
1. +
运算符
var num = 123; var str = num + ''; console.log(str); // "123" 复制代码
在JavaScript中,当我们的数值与字符串相加时,JavaScript会自动将数值转换为字符串。
这就是JavaScript中隐性转换的一种。
1. toString()
var num = 123; var str = num.toString(); console.log(str);// "123" var str1 = num.toString(2); console.log(str1);// "1111011" 复制代码
toString(参数)
方法返回一个表示指定 Number 对象的字符串。该字符串使用指定的基数进行表示。如果省略基数参数,则使用基数 10。
也就是说,我们使用该方法时,如果不传参数,我们默认使用的是十进制。我们可以传入参数(2、8、10、16),来指定我们要转换的进制。
2. String()
var num = 123; var str = String(num); console.log(str);// "123" 复制代码
String()
方法将一个指定的值转换为字符串。他可以将非字符串的参数转换为字符串。不止是数字,还可以是对象、数组、布尔值、unll、undefined等。
字符串转换为数组
1. split()
var str = '123'; var arr = str.split(''); console.log(arr);// ["1", "2", "3"] 复制代码
spilt()
方法使用指定的分隔符字符串将一个String对象分割成字符串数组,以将字符串分割为子字符串,以确定每个拆分的位置。
str.split([separator[, limit]]) 复制代码
- separator:指定表示每个拆分应发生的点的字符串。separator 可以是一个字符串或正则表达式。如果 separator 是一个空字符串,则 str 中的每个字符之间都会被分割。
- limit:一个整数,限定返回的分割片段数量,返回数组里面的元素数量不会超过这个数。如果不设置此参数,那么整个字符串都将会被分隔,不会考虑返回数组的长度。
2. Array.from()
var str = '123'; var arr = Array.from(str); console.log(arr);// ["1", "2", "3"] 复制代码
Array.from()
方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。
这个方法是JavaScript中内置的一个方法,它是从给定的数组创建一个新的数组实例。
这个方法不仅可以将字符串转换为数组,还可以将数字转换为数组。
数组转换为字符串
1. join()
var arr = [1, 2, 3]; var str = arr.join(''); console.log(str);// "123" 复制代码
join()
方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。
arr.join([separator]) 复制代码
在这个方法里面可以填一个参数,这个参数就是我们要用来连接数组的分隔符。如果不填,那么默认使用的是逗号。参数需要使用引号括起来。
2. toString()
var arr = [1, 2, 3]; var str = arr.toString(); console.log(str);// "1,2,3" 复制代码
这个方法是不是很眼熟,没错我们前面数值转换为字符串也使用这个方法。
使用这个方法将数组转换为字符串,那么数组中的每一项都会被转换为字符串,然后使用逗号连接起来。