I'm adding several id's to an array when a checkbox is checked.
<input type="checkbox" name="vehicle2" onClick={() => this.addEvcGroupToArray(item.stations.map((item, key) => { return (item.stationID) }))}
This is the function that adds the ids to the array
addEvcGroupToArray(id) {
console.log("group_id ",id);
var stationId = {};
id.map((item, key) => {
stationId = {
stationId: item
}
})
var evcGroupIdArray = this.state.stationIdArray.concat(stationId);
this.setState({ stationIdArray: evcGroupIdArray })
}
For example console.log("group_id ",id); outputs an array of ids like ["8"] (Here it's just one id,but this can be any number of ids). I want to prevent adding the same id's if the user click on the checkbox again.
I tried something like this using Set. But it did not work. How can i do this?
addEvcGroupToArray(id) {
console.log("group_id ",id);
var stationId = {};
id.map((item, key) => {
stationId = {
stationId: item
}
})
var evcGroupIdArray = this.state.stationIdArray.concat(stationId);
var uniqueArray = [...new Set(evcGroupIdArray)];
this.setState({ stationIdArray: uniqueArray })
}
mapwithout assigingid.map?