Синтаксис destructuring
должен быть таким, как показано ниже
datas.map(({name, index}) => {
if (!dataOptions.includes(name)) {
dataOptions.push({ value: index, label: name });
}
});
Более того, вам не нужен внешний массив для передачи данных в функцию карты, так как функция по умолчанию возвращает массив, вы можете сделать это просто так:ниже
let expected_data=datas.map(({name, index}) => {
if (!dataOptions.includes(name)) {
return { value: index, label: name };// return a value
}
});
expected_data
будет содержать данные, которые вам нужны после операции
См. фрагмент-
let data = [{
"name": 1,
"index": 2
}, {
"name": 11,
"index": 21
}]
console.log(data.map(({
index,
name
}) => {
return {
value: index,
label: name
}
}))
Вам лучше использовать Array.some()
для того, что вы ищете
datas.map((name,index) => { // here index is the iterator
if(!dataOptions.some(({value,label})=>label==name ))
{
dataOptions.push({ value: index, label: name });
}
});