Если вы хотите удалить конкретный и уникальный объект, я бы сделал что-то вроде:
let chosenBets = [{
id: 0, // is unique
label: 1,
odd: 1.33,
oddIndex: 0,
team_home: "Liverpool",
team_away: "Sheffield United",
matchCardIndex: 0
}, {
id: 1, // is unique
label: 1,
odd: 1.33,
oddIndex: 0,
team_home: "Liverpool",
team_away: "Sheffield United",
matchCardIndex: 0
}];
let index = chosenBets.findIndex(({id}) => id === 1);
// if you want to mutate the original array, otherwise use `slice`
chosenBets.splice(index, 1);
console.log(chosenBets);
filter
лучше, если вы хотите удалить группу элементов, а не только один.Причина в том, что он продолжает повторять все элементы массива, поэтому он всегда повторяет весь массив, даже если элемент, который вы хотите удалить, является первым.Используя findIndex
, вы просто выполняете итерацию до тех пор, пока не найдете элемент, а затем возвращаете индекс: таким образом, в среднем он сокращает цикл.