gpt4 book ai didi

javascript - 使用javascript根据条件将数组分成两部分

转载 作者:行者123 更新时间:2023-12-05 08:36:53 32 4
gpt4 key购买 nike

我有一个像下面这样的对象数组。

[
{
product_id: 4,
product_name: "Samsung",
category_name: "Tv and home appliance",
is_Available: 1
},
{
product_id: 8,
product_name: "Apple",
category_name: "Home gadgets",
is_Available: 1
},
{
product_id: 9,
product_name: "Verifone",
category_name: "Electronics",
is_Available: 0
}
]

我想根据 is_Available 标志值将这个数组分成两个。所以我确实喜欢使用 reduce。

const formmattedResponse = data.reduce((arr,el) => {
if(el.is_Available === 1) {
arr.push({...el});
}
return arr;
},[]);

但是,我需要基于上述数据数组的这种类型的格式化数据

{
availableData: [{
product_id: 4,
product_name: "Samsung",
category_name: "Tv and home appliance",
is_Available: 1
},
{
product_id: 8,
product_name: "Apple",
category_name: "Home gadgets",
is_Available: 1
}
],
notAvailableData: [{
product_id: 9,
product_name: "Verifone",
category_name: "Electronics",
is_Available: 0
}
]
}

最佳答案

您可以获取一个数组,并通过一个循环根据对象的可用性推送对象。

const
data = [{ product_id: 4, product_name: "Samsung", category_name: "Tv and home appliance", is_Available: 1 }, { product_id: 8, product_name: "Apple", category_name: "Home gadgets", is_Available: 1 }, { product_id: 9, product_name: "Verifone", category_name: "Electronics", is_Available: 0 }],
result = data.reduce((r, o) => {
r[o.is_Available ? 'availableData' : 'notAvailableData'].push(o);
return r;
}, { availableData: [], notAvailableData: [] });

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 使用javascript根据条件将数组分成两部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67333594/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com