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

问题描述 投票:1回答:1

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

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

谢谢,圣

json reactjs ecmascript-6
1个回答
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 foobar的每个对象,并返回一个仅具有这两个属性的新对象。

旧学校方式(ES5)转化为

const compactData = data.map(function(d) {
  return {foo: d.foo, bar: d.bar };
});

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

© www.soinside.com 2019 - 2024. All rights reserved.