JavaScript引用类型之对象方法

66 阅读2分钟

JSON是前后端交换文本信息的语法,应用广泛。基于这种语法的特点,后端接口返回给前端渲染的数据不是数组形式的就是对象形式的,所以熟练使用数组和对象的操作方法很重要。

对象的方法很多,这里只关注和渲染相关(和数组相关)的一些数据处理方法。

一、Object.entries(obj)

Object.entries()返回一个数组,数组的元素也是数组,也就是二维数组。

每个内层数组对应于对象一个可枚举属性,数组第一项是属性的键,第二项是属性的值。

const obj={"a":10,"b":11}
let a=Object.entries(obj)
输出a:
[["a", 10], ["b", 11]]

二、Object.keys(obj)——提取可枚举属性键

Object.keys() 返回一个数组,数组的元素是字符串。元素来自于给定对象可枚举的属性的键。

const obj={"a":10,"b":11}
let a=Object.keys(obj)
输出a:
["a", "b"]

三、Object.values(obj)——提取可枚举属性值

Object.values()返回一个数组,数组的元素是在对象上找到的可枚举属性的值。

const obj={"a":10,"b":11}
let a=Object.values(obj)
输出a:
 [10, 11]

四、Object.prototype.toString()

这个方法是一个比较麻烦的方法,Object.prototype.toString()如果不重写,默认情况下,toString() 方法被每个 Object 对象继承。如果此方法在自定义对象中未被覆盖,toString() 返回 "[object object]"。

let o={'a':1}
o.toString()
输出:"[object Object]"

在一些前后端或框架内部数据交换的过程中,对象经常被自动调用这个方法转化为字符串形式,这样我们就获取不到对象内部的值了,为此,对象的字符串化,我们使用JSON的方法手动给完成。

五、JSON方法

1、JSON.stringify() :把JavaScript对象序列化为JSON字符串,属性值是undefined的属性会被忽略。

2、JSON.parse():把JSON字符串解析为原生JavaScript对象。

这两个方法几乎是同时被使用的。