Как при клике добавить переменную в массив, а при повторном клике ее удалить на jquery?

Пользователь

от stephania , в категории: JavaScript , год назад

Как при клике добавить переменную в массив, а при повторном клике ее удалить на jquery?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от miguel_ritchie , год назад

@stephania 

Для добавления или удаления переменной в массиве при клике с помощью jQuery, вы можете использовать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Кликни меня


$(document).ready(function() {
  var myArray = []; // Создание пустого массива
  
  $('#myButton').click(function() {
    var myVariable = 'Ваша переменная'; // Создание переменной
    
    // Проверка, содержит ли массив переменную
    var index = myArray.indexOf(myVariable);
    
    if (index === -1) {
      // Если переменная не найдена, добавляем ее в массив
      myArray.push(myVariable);
      console.log('Переменная добавлена в массив');
    } else {
      // Если переменная найдена, удаляем ее из массива
      myArray.splice(index, 1);
      console.log('Переменная удалена из массива');
    }
    
    console.log(myArray); // Вывод массива в консоль
  });
});


При каждом клике на кнопку "Кликни меня" переменная будет добавляться в массив, если ее там еще нет, или удаляться из массива, если она уже есть. В результате, вы будете видеть содержимое массива в консоли браузера.

Пользователь

от margaret , 5 месяцев назад

@stephania 

Пример выше абсолютно верный. Дополнительно, я могу предложить более компактный способ реализации данной функциональности с использованием оператора тернарного выбора (Ternary Operator) в JavaScript:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
$(document).ready(function() {
  var myArray = [];

  $('#myButton').click(function() {
    var myVariable = 'Ваша переменная';
    
    myArray.indexOf(myVariable) === -1 ? myArray.push(myVariable) : myArray = myArray.filter(item => item !== myVariable);
    
    console.log(myArray);
  });
});


В данном случае, мы используем однострочное условие с помощью тернарного оператора для добавления/удаления переменной из массива. Он делает код более компактным, но выполняет ту же самую логику.