读取 Json 数据并在角度组件中使用它

用户8856651

我正在开发一个角度应用程序。我必须从 json 中读取数据并分两部分进行处理。

  1. 使用 express 从 json 读取数据:我按字母顺序排列以下 Json。

    { "1": "Andy", "2": "Billy" "3": "Carry" "4": "Doda" }

左边是Id,右边是名字。我必须使用 express 读取这些数据并在我的角度组件中访问这些数据。

  1. 在我的角度组件中,我有另一个数组,它也已排序。该数组如下:

    [
           {
             "Name": "Andy",
             "Id": "1"
             "IncomingTime": "2020-06-19T11:02+00:00",
             "Outgoingtime": "2020-06-19T11:07+00:00"
           },
           {
             "Name": "Billy",
    
             "Id": "2"
             "IncomingTime": "2020-06-19T11:05+00:00",
             "Outgoingtime": "2020-06-19T11:17+00:00"
           },
           {
             "Name": "Ciena",
             "Id": 5
             "IncomingTime": "2020-06-19T11:05+00:00",
             "Outgoingtime": "2020-06-19T11:07+00:00"
           },
           {
             "Name": "Doda",
             "Id": "4"
             "IncomingTime": "2020-06-19T11:05+00:00",
             "Outgoingtime": "2020-06-19T11:07+00:00"
           }
         ]
    

一旦上述 Json 数据在组件中可用(第 1 点中的 JSON),我必须创建一个新数组(或任何可以排序的数据结构)。在那个新数组中,我必须以这样一种方式放置数据,即来自 Json 上方的按字母顺序排序的“名称”应该与排序数组中的数据相匹配。如果 Name 匹配,则 content(Name, id, IncomingTime , OutgoingTime) 将复制到该特定“Name”的新数组中,该数组也将被排序。如果假设在比较名称时我们遇到了一个名称,而该名称的数据在排序数组中不存在,那么我们只需要在新数组中保留名称,无论数据是否存在。就像上面的“进位”数据一样,排序数组中没有“进位”数据,但最终数组中的“进位”应该在那里。我怎样才能做到这一点?

维奈

您可以使用 Lodash 来完成。Lodash 提供了实现你想要的功能。文档在这里

这里安装 Lodash

导入洛达什 import * as _ from 'lodash';

我想这就是你想要的

const arr = { 1: 'Andy', 2: 'Billy', 3: 'Carry', 4: 'Doda' };

const data = [
    {
        "Name": "Andy",
        "Id": "1",
        "IncomingTime": "2020-06-19T11:02+00:00",
        "Outgoingtime": "2020-06-19T11:07+00:00"
    },
    {
        "Name": "Billy",
        "Id": "2",
        "IncomingTime": "2020-06-19T11:05+00:00",
        "Outgoingtime": "2020-06-19T11:17+00:00"
    },
    {
        "Name": "Ciena",
        "Id": 5,
        "IncomingTime": "2020-06-19T11:05+00:00",
        "Outgoingtime": "2020-06-19T11:07+00:00"
    },
    {
        "Name": "Doda",
        "Id": "4",
        "IncomingTime": "2020-06-19T11:05+00:00",
        "Outgoingtime": "2020-06-19T11:07+00:00"
    }
    ];

const newArray  = _.map(arr, item => {
    const value = _.find(data, ['Name', item]);
    const obj = value ? value : {Name: item};

    return obj;
});

console.log(newArray);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章