js——工作中最常使用的数据转换总结

一.数组和字符串之间的转换

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值