@Denioo

Как удалить элемент из массива?

Есть страничка с 3 кнопками, когда нажимаю на одну в функции js идет запись значения кнопки через push в массив, когда отжимаю идет удаление через pop. Суть в том, что если выбираю сначала 1 кнопку - идет запись в массив; затем 2 выбираю - так же идет запись в массив; но когда отжимаю первую кнопку - удаляются значения 2 кнопки. Как это исправить, чтоб все работало корректно в обе стороны?

Вот код, isSelected как раз та самая кнопка, если нажата = true, нет = false, а value значение присваиваемое в массив по нажатию:
function setPropertyShortName(propertySelection) {
			if (propertySelection.isSelected) {
				vm.selectedValue.push(propertySelection.value);				
			}
			if (!propertySelection.isSelected) {
				vm.selectedValue.pop();				
			}

//эта часть не важна, она работает корректно
			for (var i = 0; i < vm.properties.length; i++) {
				if (vm.properties[i].value === propertySelection.value) {
					vm.properties[i].isSelected = propertySelection.isSelected;
					//continue;
				}
			}
	        search(true);
        }
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Метод .pop() вытаскивает последнее значение из массива.
Вам нужно вытаскивать произвольное.
Воспользуйтесь для этого методами slice / splice
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы