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;}