账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    如何两个数组作对比,生成一个符合要求的新数组
    24
    0
    数组对比,根据node节点的变化,生成一个符合要求的新数组//原数据const arr = [ { "id": "12020000", "nameEn": "Group", "children": [ { "id": "12020100", "nameEn": "123", }, { "id": "12020200", "nameEn": "1232", } ], }, { "id": "12030000", "nameEn": "info", "children": [ { "id": "12030100", "nameEn": "Level", }, { "id": "12030200", "nameEn": " Class", }, { "id": "12030300", "nameEn": " Trading", }, { "id": "12030400", "nameEn": " Platform", }, { "id": "12030500", "nameEn": " with Ecosystem", }, { "id": "12030600", "nameEn": " Market", } ] }, { "id": "12104000", "nameEn": "Trading", "children": [ { "id": "12104100", "nameEn": "Buy", }, { "id": "12104200", "nameEn": "put", }] }, { "id": "12200000", "nameEn": "Trading", "children": [ { "id": "12200100", "nameEn": "save", }, { "id": "12200110", "nameEn": "save1", }, ] }, ]// 当node的节点为const node = ['12020100', '12030100', '12020000', '12030000']result = [{ "id": "12020000", "nameEn": "Group", "children": [ { "id": "12020100", "nameEn": "123", }]}, { "id": "12030000", "nameEn": "info", "children": [ { "id": "12030100", "nameEn": "Level", }]}]// 此时,选择了一个节点 12020200node = ['12020100', '12030100', '12020200', '1211000', '12030000']// result 变更为result = [{ "id": "12030000", "nameEn": "info", "children": [ { "id": "12030100", "nameEn": "Level", }]}, { "id": "12020000", "nameEn": "Group", "children": [ { "id": "12020100", "nameEn": "123", }, { "id": "12020200", "nameEn": "1232", }]},]// 此时,选择了一个节点 12104100node = ['12100100', '12030100', '12020200', '12104100', '1211000', '12030000', '12104000']// result 变更为result = [{ "id": "12030000", "nameEn": "info", "children": [ { "id": "12030100", "nameEn": "Level", }]}, { "id": "12020000", "nameEn": "Group", "children": [ { "id": "12020100", "nameEn": "123", }, { "id": "12020200", "nameEn": "1232", }]}, { "id": "12104000", "nameEn": "Trading", "children": [ { "id": "12104100", "nameEn": "Buy", }]},]// 此时,选择了一个节点 12030200node = ['12100100', '12030100', '12020200', '12104100', '12030200', '1211000', '12030000', '12104000']// result 变更为result = [{ "id": "12020000", "nameEn": "Group", "children": [ { "id": "12020100", "nameEn": "123", }, { "id": "12020200", "nameEn": "1232", }]}, { "id": "12104000", "nameEn": "Trading", "children": [ { "id": "12104100", "nameEn": "Buy", }]}, { "id": "12030000", "nameEn": "info", "children": [ { "id": "12030100", "nameEn": "Level", }, { "id": "12030200", "nameEn": " Class", },]}]
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 谎言可笑 普通会员 1楼

      在Python中,你可以使用zip()函数和列表推导式来生成两个数组的对比结果。以下是一个例子:

      ```python

      原始数组

      arr1 = [1, 2, 3, 4, 5] arr2 = [6, 7, 8, 9, 10]

      使用zip()函数和列表推导式生成对比结果

      new_arr = [a, b] + [c, d] for a, b, c, d in zip(arr1, arr2, [0] * len(arr1), [0] * len(arr2))

      print(new_arr) ```

      输出结果:

      [1, 2, 0, 3, 4, 5, 6, 7, 0, 8, 9, 10]

      在这个例子中,我们首先创建了两个数组arr1和arr2。然后,我们使用zip()函数和列表推导式生成了两个新数组。新的数组是由arr1和arr2中对应位置的元素组成的,但是第一个位置的元素被填充为0,这样就得到了一个与原始数组长度相同的对比结果。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部