通过剥离不需要的对象属性来减小JSON对象数组的大小

时间:2017-12-19 18:24:58

标签: json reactjs ecmascript-6

我们的一个终点是返回一个JSON对象数组。数组中的每个对象最初都有10个属性。为了使数组保持状态,我正在考虑使用具有最小属性的对象重建JSON数组(我只需要2)。

  1. 有没有一种优雅的方式来做这个ES6(目前我正在使用一些循环)
  2. 尺寸的缩小是否能在性能方面获得好处(反应应用程序,我应该将更轻的JSON存储在状态中)
  3. 谢谢, 圣

1 个答案:

答案 0 :(得分:3)

使用数组map函数,以下是最低限度(ES6)示例

const data = [
  {foo: 'foo_value_a', bar: 'bar_value_a', baz: 'baz_value_a'},
  {foo: 'foo_value_b', bar: 'bar_value_b', baz: 'baz_value_b'},
  {foo: 'foo_value_c', bar: 'bar_value_c', baz: 'baz_value_c'},
]

const compactData = data.map(({foo, bar}) => ({foo, bar}));

compactData现在只包含foobar的对象,对于data destructure foo和{{1}的每个对象,它都是这样的并返回一个只有这两个属性的新对象。

旧学校方式(ES5)转化为

bar

当你有一个对象数组并且你想要相同数量的对象但是你想到的map不同的形状时,经验法则是非常的!