javascript. Не получается преобразовать в массив

Рейтинг: 0Ответов: 1Опубликовано: 24.02.2023

В шаблоне Flask часть кода. Переменная tr_orig_str = 'один два три четыре пять'

...
...
 <div class="tr_orig_str">
    {{ tr_orig_str }}
  </div>
...
...

JS-код:

$(function () {
  var text1 = $(".tr_orig_str").text();
  var text_array = text1.trim().split(" ");

  $(".btn-outline-dark").on("click", function () {
    var value = $(this).text();
    var idx = text_array.indexOf(value);

    alert(value); // один
    alert(text1); // один два три четыре пять
    alert(typeof text1); // string
    alert(text_array); // один,два,три,четыре,пять
    alert(typeof text_array); // object
    alert(idx); // -1
  });
});

В шаблоне часть кода. Так генерируются кнопки с надписями:

  <div class="row">
    {% for word_r in translate_rand_list %}
      <button type="button" class="btn btn-outline-dark col-auto">
        {{ word_r }}
      </button>
    {% endfor %}
  </div>

На странице пять кнопок с соответствующими текстами: один два три четыре пять. В комментариях то, что в alert'ах. text_array не преобразуется в массив? Почему? Не могу получить idx. Прошу помощи.

Ответы

▲ 0

Решение вот такое. В этой строке var value = $(this).text(); добавить .trim().

var value = $(this).text().trim();

С решением помог SwaD. Поэтому ему благодарность.