Javascript.Map
Export object from map
const individualDesignations = features.filter((feature) => {
const duplicate = seen.has(feature.properties.Designatio);
seen.add(feature.properties.Designatio);
return !duplicate;
});
const allDesignations = individualDesignations.map((designation) => {
return {
name: designation.properties.Designatio,
category: designation.properties.layer,
isChecked: true,
};
});
const designationNames = allDesignations.map(
(designation) => designation.name
);
setDesignations(allDesignations);
setCheckedDesignationLayers(designationNames);
return allDesignations;
};
Other Example
const allSubcategoryDesignations = individualDesignations
.filter((feat) => feat.properties.layer !== feat.properties.Designatio)
.map((designation) => {
// we're going through all the unique (by layer and designatio) designations here
// for each one we want to find the correct subcategory data under the correct category
// find out alternative names for it so that the Designatio becomes a proper subcategory.
// we only want categories incuded that exist in our CATEGORIES constant
const categoryInfo = CATEGORIES.find((category) => category.title === designation.properties.layer);
if (categoryInfo !== undefined) {
const category = designation.properties.layer;
const subcategory = designation.properties.Designatio;
// get all the possible subcategories for this category
const subcategories = categoryInfo.hasOwnProperty('subcategories') ? categoryInfo.subcategories : [];
const subcategoryInfo = subcategories.find((subcat) => subcat.title === subcategory)
const isChecked = subcategoryInfo && subcategoryInfo.hasOwnProperty('isChecked') ? subcategoryInfo.isChecked : true;
const order = subcategoryInfo && subcategoryInfo.hasOwnProperty('order') ? subcategoryInfo.order : -1;
return {
layer: designation.properties.layer,
Designatio: designation.properties.Designatio,
category: category,
subcategory: subcategory,
isChecked: isChecked,
order: order,
isTopLevel: false
};
}
return {}
}).filter(value => Object.keys(value).length !== 0);
setDesignations([...allSubcategoryDesignations, ...allTopLevelDesignations]);
setCheckedDesignations([...allSubcategoryDesignations, ...allTopLevelDesignations]);
return [...allSubcategoryDesignations, ...allTopLevelDesignations];
70f388e1-37c1-4a34-8459-d2a9dfcf8802
Created on: 12th October, 2022
Last updated: 12th October, 2022
Tagged With: