首页 > 解决方案 > react-native - 如何将数据作为JSON树推送到数组中?

问题描述

我正在使用 React Native 开发一个移动应用程序。我需要将一些数据放入具有类别(子键/子项)的数组中。我将数据存储在 Firebase 实时数据库中。因此,我想将这些数据推送到一个数组中,因为该 JSON 树存在。例如,我想构建一个如下所示的数组。有一个名为“水果”的类别。在此之下,它有“Apple”、“Strawberry”等。像这样,对于其他类别也是如此。

const items = [
    {
      name: 'Fruits',
      id: 0,
      children: [
        {
          name: 'Apple',
          id: 10,
        },
        {
          name: 'Strawberry',
          id: 17,
        },
        {
          name: 'Pineapple',
          id: 13,
        },
        {
          name: 'Banana',
          id: 14,
        },
        {
          name: 'Watermelon',
          id: 15,
        },
        {
          name: 'Kiwi fruit',
          id: 16,
        },
      ],
    },
    {
      name: 'Gems',
      id: 1,
      children: [
        {
          name: 'Quartz',
          id: 20,
        },
        {
          name: 'Zircon',
          id: 21,
        },
        {
          name: 'Sapphire',
          id: 22,
        },
        {
          name: 'Topaz',
          id: 23,
        },
      ],
    },
    {
      name: 'Plants',
      id: 2,
      children: [
        {
          name: "Mother In Law's Tongue",
          id: 30,
        },
        {
          name: 'Yucca',
          id: 31,
        },
        {
          name: 'Monsteria',
          id: 32,
        },
        {
          name: 'Palm',
          id: 33,
        },
      ],
    },
  ];

标签: arraysjsontreepush

解决方案


让我们考虑输入具有我们期望的价值:

let output=[]
for(let i=0;i<input.length;i++){
  let obj={};
  obj.name = input[i].name
  obj.id = input[i].id
  obj.children = [ ...input.children]
  output.push(obj);
}

推荐阅读