【问题标题】:Search inside Nested array using Typescript and ionic使用 Typescript 和 ionic 在嵌套数组中搜索
【发布时间】:2018-05-29 07:53:04
【问题描述】:

我想知道如何使用打字稿在嵌套数组中进行搜索 例如,如果用户输入 KNOR 我想显示整个组而不是项目。 这意味着我想检查 Name 字段并获得结果。

下面是 JSON 结构

    {
        group_id: 61,
        sortid: "1",
        group_items: [
            {
                group_id: "61",
                id: "1",
                code: "1",
                name: "ASTRA MARGARINE 1KG",
                bulkprice: "800.00",
                description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. ",
                picture: [
                            "img/itemlist/astra/a1.png",
                            "img/itemlist/astra/a2.png"
                        ],
                qty: "2",
                active: "0",
                availableqty: "100",
                itemprice: "400.00"
            },
            {
                group_id: "61",
                id: "1",
                code: "4",
                name: "KNOR CHICKEN CUBE 28S CONTAINER 280G",
                bulkprice: "700.00",
                description: " Interdum et malesuada fames ac ante ipsum primis in faucibus. Nam at enim sit amet ligula semper tempus.",
                picture: [
                            "img/itemlist/knor/k1.png",
                            "img/itemlist/knor/k2.png"
                        ],
                qty: "10",
                active: "0",
                availableqty: "1",
                itemprice: "25.00"
            }
        ]
    },
{
      group_id: 64,
      sortid: "2",
      group_items: [{
               group_id: "64",
               id: "1",
               code: "3",
               name: "FLORA MARGARINE LARGE 500G",
               bulkprice: "20.00",
               description: "Aenean vehicula imperdiet ex, in lacinia magna 
               bibendum sed.",
               picture: [
                          "img/itemlist/flora/f1.1.png",
                          "img/itemlist/flora/f1.2.png",
                          "img/itemlist/flora/f1.png"
                        ],
               qty: "1",
               active: "0",
               availableqty: "500",
               itemprice: "700.00"
                }]

       }

我想要的结果是如果用户搜索 Knor

{
        group_id: 61,
        sortid: "1",
        group_items: [
            {
                id: "1",
                code: "1",
                name: "ASTRA MARGARINE 1KG",
                bulkprice: "800.00",
                description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. ",
                picture: [
                            "img/itemlist/astra/a1.png",
                            "img/itemlist/astra/a2.png"
                        ],
                qty: "2",
                active: "0",
                availableqty: "100",
                itemprice: "400.00"
            },
            {
                id: "1",
                code: "4",
                name: "KNOR CHICKEN CUBE 28S CONTAINER 280G",
                bulkprice: "700.00",
                description: " Interdum et malesuada fames ac ante ipsum primis in faucibus. Nam at enim sit amet ligula semper tempus.",
                picture: [
                            "img/itemlist/knor/k1.png",
                            "img/itemlist/knor/k2.png"
                        ],
                qty: "10",
                active: "0",
                availableqty: "1",
                itemprice: "25.00"
            }

感谢快速帮助。

【问题讨论】:

  • 我在该组的任何描述中都看不到“KNOR”...您将如何从“KNOR”映射到61?或者你想要“任何包含匹配的组”?
  • 是的,我想要包含匹配项的组

标签: json typescript search ionic2 nested


【解决方案1】:

我写了一个非常简单易用的库ss-search

在您搜索嵌套数组的情况下,您可以执行以下操作:

search(data, ["name"], "KNOR")

这将过滤掉数据以仅返回名称属性中包含“KNOR”的结果。

【讨论】:

    【解决方案2】:

    您使用以下功能来解决此问题....

    test(){
        var data = {
          group_id: 61,
          sortid: "1",
          group_items: [
              {
                  group_id: "61",
                  id: "1",
                  code: "1",
                  name: "ASTRA MARGARINE 1KG",
                  bulkprice: "800.00",
                  description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. ",
                  picture: [
                              "img/itemlist/astra/a1.png",
                              "img/itemlist/astra/a2.png"
                          ],
                  qty: "2",
                  active: "0",
                  availableqty: "100",
                  itemprice: "400.00"
              },
              {
                  group_id: "61",
                  id: "1",
                  code: "4",
                  name: "KNOR CHICKEN CUBE 28S CONTAINER 280G",
                  bulkprice: "700.00",
                  description: " Interdum et malesuada fames ac ante ipsum primis in faucibus. Nam at enim sit amet ligula semper tempus.",
                  picture: [
                              "img/itemlist/knor/k1.png",
                              "img/itemlist/knor/k2.png"
                          ],
                  qty: "10",
                  active: "0",
                  availableqty: "1",
                  itemprice: "25.00"
              }
          ]
      }
    
       console.log('name',data)
      for(let i=0;i<data.group_items.length;i++){
        console.log('name',data.group_items[i].name)
      }
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-23
      • 2018-03-08
      • 2013-01-18
      • 1970-01-01
      相关资源
      最近更新 更多