Удаление элементов из массива
Доброго времени суток, друзья. Интересует следующий момент. В js, я пытаюсь создать массив с числами, добавив в них id с чекбоксов. Массив при выделении чекбокса заполняется, но вот убрать это число из массива не выходит. Если выходит, то повторять действия нужно в том же порядке. В чём может быть дело? Заранее спасибо, за дельный совет :thanks:
doSomething = (props) => { let num = Number(props); for (let i = 0; i <= this.state.nums.length; i++) { if (num === this.state.nums[i]) { this.state.nums.splice(i, 1); break; } else { this.state.nums.push(num); break; } } this.setState({ newArr: this.state.nums }); console.log(this.state.newArr); }; |
Не совсем понятно, что вам именно надо.
Похоже надо добавить число в массив, если его там нет, или удалить, если оно там есть. Тогда так doSomething = (props) => { let num = Number(props); let k = this.state.nums.indexOf(num); if (k<0) { this.state.nums.push(num) } else { this.state.nums.splice(k, 1); } this.setState({ newArr: this.state.nums }); console.log(this.state.newArr); }; |
Спасибо огромное! Просто нет слов!!!
|
я так понимаю, что это из реакта кусок, ну так есть плохая новость, что нельзя менять стейт не через setState ;)
|
Ни капли не знаток реакта, но вроде там есть
this.setState({ newArr: this.state.nums }); |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 14:04. |