数值、字符串、数组的相互转换

199 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情

数值、字符串、数组的相互转换

今天是我第一天刷力扣,我就想着通过刷题来巩固一下之间学习过的知识。

然后有一道题就需要将数字转换为字符串,然后倒转,比较是否相等。

这里我就想把之前学习到数字、字符串、数组的相互转换方法总结一下。

数值转换为字符串

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"

这个方法是不是很眼熟,没错我们前面数值转换为字符串也使用这个方法。

使用这个方法将数组转换为字符串,那么数组中的每一项都会被转换为字符串,然后使用逗号连接起来。