[英]Join object values in Array.map
const rules = transposed
.slice(1)
.map(
([
sourceSystem,
classification1, classification2, classification3, classification4,
segment,
calendar,
createSla,
slaDurationInMinutes,
sendNotification,
useHolidays,
]: any) => ({
calendar,
// classification: 'ABC, DEF',
classification1,
classification2,
classification3,
classification4,
createSla,
segment,
sendNotification,
slaDurationInMinutes,
sourceSystem,
}),
);
如何加入classification1...4的字符串值,如
classification: classification1 + classification2 + classification3 + classification4
?
结果应该是classifications: "ABC,DEF,XYZ,PEF"
简单地尝试使用模板文字:
const rules = transposed
.slice(1)
.map(
([
sourceSystem,
classification1, classification2, classification3, classification4,
segment,
calendar,
createSla,
slaDurationInMinutes,
sendNotification,
useHolidays,
]: any) => {
return {
calendar,
classification: `${classification1},${classification2},${classification3},${classification4}`,
createSla,
segment,
sendNotification,
slaDurationInMinutes,
sourceSystem
}
});
你的“喜欢”例子几乎就是你会怎么做,除非还有你没有提到的其他限制(比如其中一些是可选的/可能是空白的,等等):
const rules = transposed
.slice(1)
.map(
([
sourceSystem,
classification1, classification2, classification3, classification4,
segment,
calendar,
createSla,
slaDurationInMinutes,
sendNotification,
useHolidays,
]: any) => ({
calendar,
classification: classification1 + "," + classification2 + "," + classification3 + "," + classification4, // ***
createSla,
segment,
sendNotification,
slaDurationInMinutes,
sourceSystem,
}),
);
(或者使用Nenad 所示的模板文字。)
如果其中一些可能是空白的并且您想跳过它们,您可以创建并过滤一个数组,然后使用.join(",")
来连接值:
const rules = transposed
.slice(1)
.map(
([
sourceSystem,
classification1, classification2, classification3, classification4,
segment,
calendar,
createSla,
slaDurationInMinutes,
sendNotification,
useHolidays,
]: any) => ({
calendar,
classification: [classification1, classification2, classification3, classification4].filter(c => !!c).join(",")
createSla,
segment,
sendNotification,
slaDurationInMinutes,
sourceSystem,
}),
);
(是的, .filter(c => !!c)
可能只是.filter(c => c)
或.filter(Boolean)
。我写的东西对我来说似乎很清楚,让缩小器担心缩小。:-))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.