今天分享一下最近碰到的一个需求:一个对象中保存了很多键值对,我需要遍历所有的键值对,并取出值中对象来进行分析,这些数据都是采用json格式进行保存和使用,因此我们就需要用到JavaScript中的对象的迭代.ECMAScript 2017 新增了两 个静态方法,用于将对象内容转换为序列化的格式。这两个静态方法 Object.values()和 Object.entries()接收一个对象,返回它们内容的数组。Object.values() 返回对象值的数组,Object.entries()返回键/值对的数组.转换成数组的格式要迭代其中的内容就容易多了.
一,数据格式
let items = {"15472543":{"name":"A","age":"34"},
"16572544":{"name":"B","age":"38"},
"18613609":{"name":"C","age":"41"}
};
最外层对象的键代表的id,其值代表人员的信息.为什么这样设计存储格式呢?是因为我可以利用对象的属性去查找某一个id是否存在,避免了另外写查找算法.
二,具体操作
返回所有值的数组:
Object.values(items)
返回所有的键/值数组:
Object.entries(items)
由于我只需要对象值进行操作,故使用Object.values(items)即可