我需要从数组中获取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);