簡體   English   中英

嵌套過濾器數組 javascript

[英]nested filter array javascript

當我過濾我的數組主要數據受到影響和更改時,我想在 js 中創建一個嵌套過濾器,但我需要初步數據來刪除過濾器

我的js代碼:

    let result = companies;
     result.map((item, i) => {212
           let rows = [...result[i].table.table_rows].filter((item3) => {
              return Object.keys(item3).some(i => item3[i][key] === value[key]);
           });
                      
           result[i].table.table_rows = [...rows];
           return result[i];
        });
      arrayFilter(result);

我的數據是:

{
  "companies": [
    {
      "company": {
        "name": "company 1"
      },
      "table": {
        "table_rows": [
          {
            "cells": {
              "product_name": "prod1",
              "pa_size": "12"
            }
          },
          {
            "cells": {
              "product_name": "prod2",
              "pa_size": "15"
            }
          }
        ]
      }
    },
    {
      "company": {
        "name": "company 2"
      },
      "table": {
        "table_rows": [
          {
            "cells": {
              "product_name": "prod2-1",
              "pa_size": "12"
            }
          },
          {
            "cells": {
              "product_name": "prod2-2",
              "pa_size": "18"
            }
          }
        ]
      }
    }
  ]
}

我嘗試了很多方法來解決這個問題,但我沒有得到正確的答案

你的問題不清楚,我明白你想過濾位於每個公司數組 object 內的數組“table_rows”? map 和過濾器返回新數組,所以解決方案是:

result = result.companies.map((item, i) => {
   const newItem = {...item};
   let rows = newItem .table.table_rows.filter((item3) => {
      return Object.keys(item3).some(i => item3[i][key] === value[key]);
   });
              
   newItem.table_rows = [...rows];
   return newItem ;
});
arrayFilter(result);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM