简单的数据类型转换

发布于
对象数组字符串的相互转化

对象、数组、字符串之间相互转化的方法。在处理数据的时候经常会碰到不同数据类型之间的转换。

对象Object 数组Array 字符串String str.split('') arr.join('') JSON.parse(str) JSON.stringify(obj) Object.fromEntries(arr) Object.entries(obj) 对象、数组、字符串 相互转化图

数组 - 字符串

学习 JavaScript 最基础的知识,拼接和分割字符串。

  • 拼接:
const arr = [1,'a',false]
arr.join('')
// "1afalse"
  • 分割
const str = 'abcd'
str.split('')
// [ "a", "b", "c", "d" ]

对象 - 字符串

JSON ( JavaScript Object Notation ) 可以将 js 在常见的数据类型和 JSON 字符串之间相互转换。

  • 序列化:
JSON.stringify({a:1,b:2})
// "{\"a\":1,\"b\":2}"
  • 解析
JSON.parse("{\"a\":1,\"b\":2}")
// { a: 1, b: 2 }

对象 - 数组

可以使用 Object 的内置方法在对象和固定格式的数组之间相互转换。

  • Object.entries()Object.fromEntries() 一对相对的方法:
Object.entries( { a: 1, b: 2 } )
// [ [ "a", 1 ] , [ "b", 2 ] ]

Object.fromEntries( [ [ "a", 1 ] , [ "b", 2 ] ] )
//  { a: 1, b: 2 }
  • 对象到数组的单向转换:
// 只取键名
Object.keys(( { a: 1, b: 2 } ))
// [ "a", "b" ]

// 只取值
Object.values(( { a: 1, b: 2 } ))
// [ 1, 2 ]
  • 数组到对象的单向转换:
// 以 index 为键名
Object.assign( {} , [ 'a', 'b' ] )
// { 0: "a", 1: "b" }

其他

常见的 js 数据类型都有内置的方法 toString() , 可以将其他类型转为字符串

类型示例结果
Number123”123”
Array[1,2,‘3’]“1,2,3”
Object{ a: 1 }“[object Object]“
Datenew Date(0)“Thu Jan 01 1970 07:30:00 GMT+0730 (新加坡标准时间)”