一.数组和字符串之间的转换
1.字符串转数组( split () )
let tmp = '1-字典值'; //String
let tmpArr = tmp.split('-') //转换
console.log(tmpArr[0],tmpArr[1]) //输出结果:1,字典值
2.数组转字符串
方法一:join()
let tmpArr = ['1','字典值']; //Array
let tmp = tmpArr.join('-') //join的参数是什么,字符串就会以什么来拼接
console.log(tmp) //输出结果:1-字典值
方法二:toString()
let tmpArr = ['1','字典值']; //Array
let tmp = tmpArr.toString(); //和join的区别不需要符号来拼接
console.log(tmp) //输出结果:1,字典值
tips:null、undefined不可使用toString()
二.数组与对象之间的转换
1.数组转对象
//方法一:Object.assign()
let tmpArr1 = ["num1","num2","num3"];
let tmpObj1 = Object.assign({},tmpArr1)
console.log(tmpObj1) // { 0: "num1", 1: "num2", 2: "num3" }
//方法二: es6展开运算符
let tmpArr2 = ['a','b',7];
let tmpObj2 = {...tmpArr3}
console.log(tmpObj2) // {0: 'a', 1: 'b', 2: 7}
//方法三:如果想指定对象的key名,使用遍历
let tmpArr3 = [
{
key: 'name',
value: '小王'
},
{
key: 'age',
value: '12'
}];
let tmpObj3 = {};
tmpArr3.forEach(item => {tmpObj3[item.key] = item.value})
console.log(tmpObj3);
//{
// "name": "小王",
// "age": "12"
// }
2.对象转数组
//方法一:for in循环对象( 可指定key名 )
let obj1 = { name: '小王', age: '女' };
let arr1 = [];
for (let key in obj1) {
arr1.push({
key: key,
text: obj1[key]
})
}
console.log(arr1)
//[{
// key: 'name',
// text: '小王'
// },
// {key: 'age',
// text: '女'
// }];
//方法二:Object.values(obj2)
let obj2 = {name: '小王', age: '女' }
let arr2 = Object.values(obj2)
console.log(arr2) // ['小王', '女']
//方法三:Object.keys(obj)
let obj3 = {name: '小王', age: '女' }
let arr3 = Object.keys(obj3).map(item =>{return obj3[item]})
console.log(arr3) // ['小王', '女']
三.其它类型转成数字
1.字符串转数字( parseXXX() )
let num1 = '134.2555555';
console.log(parseInt(num1),parseFloat(num1)); //134 , 134.2555555
//如果想保留两位小数
console.log(parseFloat(num1).toFixed(2)); //134.26 会四舍五入
let num1 = 'aaa12';
console.log(parseInt(num1)); //NaN
字符串转数字( Number() )
Number('123'); //123
Number('123.2567'); //123.2567
Number('aa12'); //NaN
Number(null); //0
Number('null'); //NaN
Number(undefined);//NaN
Number('undefined'); //NaN
2.boolean转数字
false - 1;
true - 0