數(shù)據(jù)類型轉(zhuǎn)換

轉(zhuǎn)為字符串

    1. toString() 方法

最常見(jiàn)的就是該類型的 toString() 他不會(huì)改變?cè)瓟?shù)據(jù),會(huì)將結(jié)果以返回值的形式給出

nullundefined沒(méi)有 toString() 方法

let a = 123
a = a.toString()
console.log(typeof a) //string
    1. toLocaleString() 方法

toLocaleString() 的本地化方法,他不會(huì)改變?cè)瓟?shù)據(jù),會(huì)將結(jié)果以返回值的形式給出

nullundefined沒(méi)有 toLocaleString() 方法

需要注意有些時(shí)候 toLocaleString()toString() 的值是有不同的

let a = 123
a = a.toLocaleString()
console.log(typeof a) //string 123
    1. String() 函數(shù)

將需要轉(zhuǎn)換的值作為參數(shù)傳給 String() 函數(shù)

NumberBoolean 就是調(diào)用 toString()

nullundefined 會(huì)分別轉(zhuǎn)換為字符串 'null''undefined'

let a = 123
a = String(a)
console.log(typeof a) //string
    1. 空字符串

Symbol 類型會(huì)報(bào)錯(cuò)

let a = 123
a = a + ""
console.log(typeof a,a) //string 123
    1. 模板字符串

Symbol 類型會(huì)報(bào)錯(cuò)

let a = 123
a = `${a}`
//  ES6 語(yǔ)法 ${} 內(nèi)寫(xiě)變量和計(jì)算等
console.log(typeof a,a) //string 123
    1. 數(shù)組轉(zhuǎn)字符串的 join() 方法
let arr = [1,2,3]
arr = arr.join()
console.log(typeof arr,arr) //string 1,2,3
    1. JSON 的 stringify() 方法

只轉(zhuǎn)可以轉(zhuǎn)換的,字符串轉(zhuǎn)換時(shí)會(huì)加一層引號(hào)

let obj = {
  name:"obj",
  type:true,
  arr:[1,2,3],
}
obj = JSON.stringify(obj)
console.log(typeof obj,obj) //string {"name":"obj","type":true,"arr":[1,2,3]}

轉(zhuǎn)為數(shù)字

  1. Number() 函數(shù)

將需要轉(zhuǎn)換的值作為參數(shù)傳給 Number() 函數(shù)

  • 字符串轉(zhuǎn)為數(shù)字
  1. 純數(shù)字字符串 --> 數(shù)字
  2. 包含其他非數(shù)字的字符串 --> NaN
  3. 空字符串或全是空格的字符串 --> 0
  • 布爾值轉(zhuǎn)為數(shù)字
  1. true --> 1
  2. false --> 0
  • null 轉(zhuǎn)為數(shù)字 0

  • undefined 轉(zhuǎn)為數(shù)字 NaN

let str = "123"
str = Number(str)
alert(typeof str+":"+ str)  // "123" number:123
alert(typeof str+":"+ str)  // false number:0
alert(typeof str+":"+ str)  // true number:1
alert(typeof str+":"+ str)  // null number:0
alert(typeof str+":"+ str)  // undefined number:NaN
  1. parseInt() 函數(shù)
  • parseInt() 函數(shù)不改變?cè)址?解析一個(gè)字符串,并返回一個(gè)整數(shù)。

  • 接受第二個(gè)參數(shù)作為解析的基數(shù)

  • 如果字符串的第一個(gè)字符不能被轉(zhuǎn)換為數(shù)字,那么 parseInt() 會(huì)返回 NaN

let str = "123"
str = parseInt(str)
alert(typeof str+":"+ str)  //"123" number:123
alert(typeof str+":"+ str)  //"123px" number:123
alert(typeof str+":"+ str)  //"123.123px" number:123
alert(typeof str+":"+ str)  //12*2 number:24
alert(typeof str+":"+ str)  //" " number:NaN
alert(typeof str+":"+ str)  //null number:NaN
alert(typeof str+":"+ str)  //age:22 number:NaN
  1. parseFloat() 函數(shù)
  • parseFloat() 函數(shù)不改變?cè)址?解析一個(gè)字符串,并返回一個(gè)浮點(diǎn)數(shù)。

  • 如果字符串的第一個(gè)字符不能被轉(zhuǎn)換為數(shù)字,那么 parseFloat() 會(huì)返回 NaN

let str = "123.123px"
str = parseInt(str)
alert(typeof str+":"+ str)  //"123.123px" number:123.123
alert(typeof str+":"+ str)  //"123.123 123" number:123.123
alert(typeof str+":"+ str)  //"123.123px123" number:123.123

轉(zhuǎn)為數(shù)組

字符串轉(zhuǎn)數(shù)組
  1. split()

通過(guò)字符串的 split() 方法,將需要通過(guò)切割的標(biāo)識(shí)符傳入,

第二個(gè)參數(shù)是數(shù)組的最大長(zhǎng)度

不改變?cè)瓟?shù)組

String.split() 執(zhí)行的操作與 Array.join 執(zhí)行的操作是相反的

"123".split("")     //  ["1","2","3"]
"1,2,3".split(",")  //  ['1', '2', '3']
"1234".split("",3)  //  ['1', '2', '3']
"1asdas2fdgdf3ewqwe4cbcvb".split(/[a-zA-Z]{2,}/,3)  //  ['1', '2', '3']
  1. Array.from()

Array.from() 就是將一個(gè)類數(shù)組對(duì)象或者可遍歷對(duì)象轉(zhuǎn)換成一個(gè)真正的數(shù)組的方法

第二個(gè)參數(shù)是一個(gè)類似遍歷每一項(xiàng)的函數(shù)對(duì)每一項(xiàng)進(jìn)行處理,

Array.from("123") //['1', '2', '3']
Array.from([1, 2, 3], x => x + x) //[2, 4, 6]

數(shù)組去重


function combine(){
 let arr = [].concat.apply([], arguments);  //沒(méi)有去重復(fù)的新數(shù)組
 return Array.from(new Set(arr));
}

var m = [1, 2, 2], n = [2,3,3];
console.log(combine(m,n));                     // [1, 2, 3]
  1. ES6 解構(gòu)
[..."123"]  //['1', '2', '3']
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容