在javascript中操纵数组响应
我有一个来自后端的对象数组响应,我想在前端处理它 目前的答复:在javascript中操纵数组响应,javascript,arrays,algorithm,javascript-objects,Javascript,Arrays,Algorithm,Javascript Objects,我有一个来自后端的对象数组响应,我想在前端处理它 目前的答复: const availableModules = [ { key: "tshirt", color: "#305b2d", status: "active", }, { key: "tshirt", color: "#066da0", status: "active
const availableModules = [
{
key: "tshirt",
color: "#305b2d",
status: "active",
},
{
key: "tshirt",
color: "#066da0",
status: "active step 2",
},
{
key: "tshirt",
color: "#772016",
status: "active step 3",
},
{
key: "tshirt",
color: "#742016",
status: "canceled",
},
{
key: "short",
color: "#702010",
status: "refunded",
},
];
我如何操作它,使所有活动状态(“活动,活动步骤2和活动步骤3”)都位于如下对象数组中
有什么建议吗
const availableModules = [
{
key: "tshirt",
color: "#305b2d",
status: "active",
modules:
[
{ key: "tshirt",
color: "#066da0",
status: "active step 2"},
{ key: "tshirt",
color: "#772016",
status: "active step 3"}
],
},
{
key: "tshirt",
color: "#742016",
status: "canceled",
},
{
key: "short",
color: "#702010",
status: "refunded",
},
];
这是我到目前为止的进步
const arr = availableModules.map((group) => {
for (const groupItem in group) {
console.log(`${groupItem}: ${group[groupItem]}`);
}
})
您可以这样做:
const availableModules=[
{
钥匙:“T恤”,
颜色:“305b2d”,
状态:“活动”,
},
{
钥匙:“T恤”,
颜色:“066da0”,
状态:“活动步骤2”,
},
{
钥匙:“T恤”,
颜色:“772016”,
状态:“活动步骤3”,
},
{
钥匙:“T恤”,
颜色:“742016”,
状态:“已取消”,
},
{
键:“短”,
颜色:#702010“,
状态:“已退款”,
},
];
const activeModules=availableModules.filter((m)=>
m、 状态。包括(“活动”)
);
const otherStatusModules=availableModules.filter(
(m) =>!m.status.包括(“活动”)
);
常数newModules=[
{
…活动模块[0],
modules:activeModules.filter((ux,idx)=>idx>0),
},
…其他状态模块,
];
console.log(newModules)代码>您可以执行以下操作:
const availableModules=[
{
钥匙:“T恤”,
颜色:“305b2d”,
状态:“活动”,
},
{
钥匙:“T恤”,
颜色:“066da0”,
状态:“活动步骤2”,
},
{
钥匙:“T恤”,
颜色:“772016”,
状态:“活动步骤3”,
},
{
钥匙:“T恤”,
颜色:“742016”,
状态:“已取消”,
},
{
键:“短”,
颜色:#702010“,
状态:“已退款”,
},
];
const activeModules=availableModules.filter((m)=>
m、 状态。包括(“活动”)
);
const otherStatusModules=availableModules.filter(
(m) =>!m.status.包括(“活动”)
);
常数newModules=[
{
…活动模块[0],
modules:activeModules.filter((ux,idx)=>idx>0),
},
…其他状态模块,
];
console.log(newModules)代码>