一、数组←→字符串
1.数组转字符串
arr.join():传入分隔符,默认','
var arr = [1,2,3,4,5];
var string = arr.join("-")//'1-2-3-4-5'
arr.toString():可以将除了null和defined的数据类型都转化为字符串,可以转化进制字符串。多维数组会把每一层的数组都转化为字符串
var arr = [1,2,3,4,5];
var string = arr.toString()//'1,2,3,4,5'
var arr2= [[1,[2,3],[4,5]],[6,[7,[8,9],0]]];
var string2 = arr2.toString()//'1,2,3,4,5,6,7,8,9,0'
String(arr):可以将null和undefined转化为字符串,但是不能转化进制字符串
var arr = [1,2,3,4,5];
var string = String(arr)//'1,2,3,4,5'
字符'+'隐式转换:+ 会自动调用toString()方法将数组转为字符串
var arr1 = [1,2,3];
var arr2 = [4,5,6];
var string = arr1+arr2//'1,2,3,4,5,6'
2.字符串转数组
str.split():传入指定分隔符分割成数组
var string = '12,34,56'
var arr = string.split(',')//['12','34','56']
二、对象 ←→字符串
1.对象转字符串
JSON.stringify(obj)
var obj = {
name:'张一',
age:25,
sex:'男'
}
var str = JSON.stringify(obj)//'{"name":"张一","age":25,"sex":"男"}'
2.字符串转对象
JSON.parse(string)
var str = '{"name":"张一","age":25,"sex":"男"}'
var obj = JSON.parse(str)//{name:'张一',age:25,sex:'男'}
三、对象 ←→数组
1.对象转数组
Array.from():将类数组对象转换为数组(一定具有length属性,每个属性的key是数字)
var arrayLike = {
0: '张三',
1: 18,
2: ['lei','hai','yuan'],
3: '上海市',
length: 4
}
const arr = Array.from(arrayLike)// ["张三", 18, Array(3), "上海市"]
其它方法参考文章:
JS中数组、对象、字符串之间的转换_js 数组对象转字符串-CSDN博客
四、其他
1.字符串数组←→数字数组
字符串→数字
var stringArr = ['1','2','3','4','5']
var numberArr = stringArr.map(Number)//[1,2,3,4,5]
数字→字符串
var numberArr = [1,2,3,4,5]
var stringArr = numberArr.map(String)//['1','2','3','4','5']