转换数组布局,同时删除重复值



我需要从数组中获取serviceType,并将其转换为以下布局,只保留唯一值。

[{"标签":"汽车现在"值":"汽车现在"},{"标签":"Vans Now";"值":"Vans Now";},]

我有下面的唯一值,但我不知道如何将其转换为我需要的布局。

const inputArray = [
{
"serviceType": "Cars Now",
"applictionType": "Direct",
"wheelType": "4x4"
},
{
"serviceType": "Cars Now",
"applictionType": "web",
"wheelType": "2x4"
},
,
{
"serviceType": "Vans Now",
"applictionType": "Direct",
"wheelType": "2x4"
}
]
let tempArr = inputArray.map(row => row.serviceType) // map extracts the serviceType
.filter(service => service); // filter removes any undefined/empty values
newServiceSet = [...new Set(tempArr)] // only keeps unique values
console.log(newServiceSet)

serviceType的集合变成一个字符串数组,然后映射将每个字符串变成一个对象。您还需要过滤掉数组中的空白。

const inputArray = [
{
"serviceType": "Cars Now",
"applictionType": "Direct",
"wheelType": "4x4"
},
{
"serviceType": "Cars Now",
"applictionType": "web",
"wheelType": "2x4"
},
,
{
"serviceType": "Vans Now",
"applictionType": "Direct",
"wheelType": "2x4"
}
];
const serviceTypes = new Set(inputArray.filter(Boolean).map(({ serviceType }) => serviceType));
const output = [...serviceTypes].map(label => ({ label, value: label }));
console.log(output);

最新更新