Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于属性将对象数组筛选为多个对象数组_Javascript_Arrays_Typescript_Filtering - Fatal编程技术网

Javascript 基于属性将对象数组筛选为多个对象数组

Javascript 基于属性将对象数组筛选为多个对象数组,javascript,arrays,typescript,filtering,Javascript,Arrays,Typescript,Filtering,目前,我有一个对象数组 const bankData=[ { “银行”:“大通”, “月结余额”:“72175.88”, “银行声明日期”:“2020/10/31” }, { “银行”:“大通”, “月结余额”:“93412.79”, “银行声明日期”:“2020/07/31” }, { “银行”:“大通”, “月结余额”:“88175.88”, “银行声明日期”:“2020/11/30” }, { “银行”:“大通”, “月结余额”:“102200.12”, “银行声明日期”:“2020/12

目前,我有一个对象数组

const bankData=[
{
“银行”:“大通”,
“月结余额”:“72175.88”,
“银行声明日期”:“2020/10/31”
},
{
“银行”:“大通”,
“月结余额”:“93412.79”,
“银行声明日期”:“2020/07/31”
},
{
“银行”:“大通”,
“月结余额”:“88175.88”,
“银行声明日期”:“2020/11/30”
},
{
“银行”:“大通”,
“月结余额”:“102200.12”,
“银行声明日期”:“2020/12/31”
},
{
“银行”:“高盛”,
“月结余额”:“72276.12”,
“银行声明日期”:“2020/11/30”
},
{
“银行”:“高盛”,
“月结余额”:“52276.12”,
“银行声明日期”:“2020/10/31”
},
{
“银行”:“高盛”,
“月结余额”:“102276.12”,
“银行声明日期”:“2020/12/31”
},
{
“银行”:“富国银行”,
“月结余额”:“33276.12”,
“银行声明日期”:“2020/11/30”
},
{
“银行”:“富国银行”,
“月结余额”:“12276.12”,
“银行声明日期”:“2020/10/31”
},
{
“银行”:“富国银行”,
“月结余额”:“150276.12”,
“银行声明日期”:“2020/12/31”
}
]
我正在寻找所需的输出,其中每个银行将被过滤到它自己的对象数组中

例如


班肯常数=[
{
“银行”:“大通”,
“月结余额”:“72175.88”,
“银行声明日期”:“2020/10/31”
},
{
“银行”:“大通”,
“月结余额”:“93412.79”,
“银行声明日期”:“2020/07/31”
},
{
“银行”:“大通”,
“月结余额”:“88175.88”,
“银行声明日期”:“2020/11/30”
},
{
“银行”:“大通”,
“月结余额”:“102200.12”,
“银行声明日期”:“2020/12/31”
}
]
我有一个带有
Array.filter
的基本实现,它可以做到这一点,但随着更多银行的增加,它不可扩展,并且需要对每个新银行进行代码更改。理想的方法是什么,能够将每个银行过滤成它自己独特的对象数组

const chaseBank=bankData.filter(el=>el.bank==“Chase”)
const goldManBank=bankData.filter(el=>el.bank==“高盛”)
const wellsFargoBank=bankData.filter(el=>el.bank===“富国银行”)

您可以使用对象进行分组

const
数据=[{银行:“大通”,monthEndBalance:“72175.88”,银行声明日期:“2020/10/31”},{银行:“大通”,monthEndBalance:“93412.79”,银行声明日期:“2020/07/31”},{银行:“大通”,monthEndBalance:“88175.88”,银行声明日期:“2020/11/30”},{银行:“大通”,monthEndBalance:“102200.12”,银行声明日期:“2020/12/31”},{银行:“高盛”,monthEndBalance:“72276.12”,银行声明日期:“2020/11/30”},{银行:“高盛”,monthEndBalance:“52276.12”,银行声明日期:“2020/10/31”},{银行:“高盛”,monthEndBalance:“102276.12”,银行声明日期:“2020/12/31”{银行:“富国银行”,monthEndBalance:“33276.12”,银行声明日期:“2020/11/30”},{银行:“富国银行”,monthEndBalance:“12276.12”,银行声明日期:“2020/10/31”},{银行:“富国银行”,monthEndBalance:“150276.12”,银行声明日期:“2020/12/31”},
结果=数据。减少((r,o)=>{
(r[o.bank]??=[])。推送(o);
返回r;
}, {});
console.log(结果);
。作为控制台包装{最大高度:100%!重要;顶部:0;}