gpt4 book ai didi

javascript - 根据 Javascript 中的条件使用 .join()

转载 作者:行者123 更新时间:2023-11-28 14:09:39 25 4
gpt4 key购买 nike

我正在尝试循环遍历组件数组,并用逗号 (, ) 连接所有轮胎组件描述(如果有多个)。

let dataForTemplate = {};
incident = {
complaint_id: 55556473,
components: [{
component_id: 263,
name: 'SEAT BELTS',
description: '150000 SEAT BELTS',
is_public: true,
is_vehicle: true,
is_equipment: false,
is_tire: false,
is_child_seat: false,
is_active: true,
is_deleted: false,
risk_matrix_default_id: 1
},
{
component_id: 300,
name: 'TIRES',
description: '190000 TIRES',
is_public: true,
is_vehicle: true,
is_equipment: false,
is_tire: true,
is_child_seat: false,
is_active: true,
is_deleted: false,
risk_matrix_default_id: 17
},
{
component_id: 1025,
name: 'CHILD SEAT:VEHICLE TETHER ANCHOR',
description: '532000 CHILD SEAT:VEHICLE TETHER ANCHOR',
is_public: true,
is_vehicle: false,
is_equipment: false,
is_tire: false,
is_child_seat: true,
is_active: true,
is_deleted: false,
risk_matrix_default_id: 4
}
]
};

这是我正在尝试的:

if (incident.components && incident.components.length > 0) {
dataForTemplate.tire_components = incident.components.map((e) => {
console.log(e);
if (e.is_tire) {
return ${e.description};
}
}).join(' ,');
}

console.log(dataForTemplate);

当前输出:{tire_components: ",190000 TIRES ,"}

预期输出:{tire_components: "190000 TIRES"}

只有当有多个描述满足条件时,才应该用逗号连接字符串。

最佳答案

过滤数组以获取 is_tire 条目,映射 tehm 以获取描述并连接结果:

let dataForTemplate = {};
incident = {
complaint_id: 55556473,
components: [
{
component_id: 263,
name: "SEAT BELTS",
description: "150000 SEAT BELTS",
is_public: true,
is_vehicle: true,
is_equipment: false,
is_tire: false,
is_child_seat: false,
is_active: true,
is_deleted: false,
risk_matrix_default_id: 1
},
{
component_id: 300,
name: "TIRES",
description: "190000 TIRES",
is_public: true,
is_vehicle: true,
is_equipment: false,
is_tire: true,
is_child_seat: false,
is_active: true,
is_deleted: false,
risk_matrix_default_id: 17
},
{
component_id: 1025,
name: "CHILD SEAT:VEHICLE TETHER ANCHOR",
description: "532000 CHILD SEAT:VEHICLE TETHER ANCHOR",
is_public: true,
is_vehicle: false,
is_equipment: false,
is_tire: false,
is_child_seat: true,
is_active: true,
is_deleted: false,
risk_matrix_default_id: 4
}
]
};

if (incident.components && incident.components.length > 0) {
dataForTemplate.tire_components = incident.components
.filter(e => e.is_tire)
.map(e => {
return `${e.description}`;
})
.join(" ,");
}

console.log(dataForTemplate);

let dataForTemplate = {};
incident = {
complaint_id: 55556473,
components: [
{
component_id: 263,
name: "SEAT BELTS",
description: "150000 SEAT BELTS",
is_public: true,
is_vehicle: true,
is_equipment: false,
is_tire: false,
is_child_seat: false,
is_active: true,
is_deleted: false,
risk_matrix_default_id: 1
},
{
component_id: 300,
name: "TIRES",
description: "190000 TIRES",
is_public: true,
is_vehicle: true,
is_equipment: false,
is_tire: true,
is_child_seat: false,
is_active: true,
is_deleted: false,
risk_matrix_default_id: 17
},
{
component_id: 300,
name: "TIRES",
description: "190000 TIRES example 2",
is_public: true,
is_vehicle: true,
is_equipment: false,
is_tire: true,
is_child_seat: false,
is_active: true,
is_deleted: false,
risk_matrix_default_id: 17
},
{
component_id: 1025,
name: "CHILD SEAT:VEHICLE TETHER ANCHOR",
description: "532000 CHILD SEAT:VEHICLE TETHER ANCHOR",
is_public: true,
is_vehicle: false,
is_equipment: false,
is_tire: false,
is_child_seat: true,
is_active: true,
is_deleted: false,
risk_matrix_default_id: 4
}
]
};

if (incident.components && incident.components.length > 0) {
dataForTemplate.tire_components = incident.components
.filter(e => e.is_tire)
.map(e => {
return `${e.description}`;
})
.join(" ,");
}

console.log(dataForTemplate);

关于javascript - 根据 Javascript 中的条件使用 .join(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60063808/

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