数组和字符串的相互转换---------数组转换为字符串

技术博客 (152) 2023-09-16 17:00:01

1.Array.join()方法

将数组的每一项用指定字符连接形成一个字符串。默认连接字符为 “,” 逗号。

注:将字符串转化为数组的String.split(“分隔符”)与Array.join(“分隔符”)正好相反;

let arr = [1,2,3,4]//定义数组

        let str1 = arr.join()
        console.log(str1);//1,2,3,4

        let str2 = arr.join('')
        console.log(str2);//1234

        let str3 = arr.join(',')
        console.log(str3);//1,2,3,4

        let str4 = arr.join('_')
        console.log(str4);//1_2_3_4

2.Array.toString()方法(该部分参考)

可以把每个元素转换为字符串,并以逗号连接,输出并显示。

let arr = [1, 2, 3, 4]//定义数组
        let str = arr.toString();  //把arr数组利用toString()转换为字符串
        console.log(str);  //输出字符串1,2,3,4

当数组处于字符串环境中时,js会自动调用 toString() 方法将数组转换成字符串。

   let arr1 = [0, 1, 2];  // 定义数组
        let arr2 = [4, 5, 6];  // 定义数组
        let str1 = arr1 + arr2;  // 数组连接操作
        console.log(str1);  // 返回0,1,24,5,6

        let arr3 = [0, 1, 2];  // 定义数组
        let arr4 = [4, 5, 6];  // 定义数组
        let str2 = arr3 + ',' + arr4;  // 数组连接操作
        console.log(str2);  // 返回0,1,2,4,5,6

toString() 在把数组转换成字符串时,首先要将数组的每个元素都转换为字符串。当每个元素都被转换为字符串时,才使用逗号进行分隔,以列表的形式输出这些字符串。

数组 arr 是一个多维数组 时,JavaScript 会以迭代的方式调用 toString() 方法把所有数组都转换为字符串。

let arr = [[1, [2, 3], [4, 5]], [6, [7, [8, 9], 0]]];  // 定义多维数组
        let str = arr.toString()  // 把数组转换为字符串
        console.log(str);  // 返回字符串1,2,3,4,5,6,7,8,9,0

3.Array.toLocalString()方法

(1)数字转换为字符串

把数字转换为字符串,使用本地数字格式顺序;当数字是四位及以上时,toLocaleString()会让数字三位三位一分隔,并以逗号隔开。

let str = 123
        console.log(str.toString());//123
        console.log(str.toLocaleString());//123

        let str1 = 12345
        console.log(str1.toString());//12345
        console.log(str1.toLocaleString());//12,345

(2)Array 数组 转化成 字符串

将数组转化成字符串,并用逗号隔开。

let arr = [1,2,3,4,5]
        console.log(arr.toLocaleString());//1,2,3,4,5

(3)将 Date 转化成字符串

将Date对象转化成字符串,返回的字符串根据本地规则格式化。

 let data =new Date()

       console.log(data);//Sat Jul 30 2022 21:05:47 GMT+0800 (中国标准时间)
       console.log(data.valueOf());//1659186347359
       console.log(data.toString());//Sat Jul 30 2022 21:05:47 GMT+0800 (中国标准时间)
       console.log(data.toLocaleString());//2022/7/30 21:05:47

4.总结以上就是toString()和toLocaleString()两点区别

  • 当数字是四位数及以上时,toLocaleString()让数字三位三位一分隔,并以逗号隔开。
  • 当目标是标准时间格式时,用以上两种方法获取的时间是有区别的。
  • 如果是为了返回时间类型的数据,推荐使用toLocaleString()。若是在后台处理字符串,请务必使用toString()。
THE END

发表回复