Перебирать элементы в строке

1

Я использую javascript. Теперь у меня есть строка в java, которая "[\" x\", \" y\"]". Теперь я хочу использовать это в javascript. Вы найдете следующий код:

String str = "[\"x\",\"y\"]";
<script>
  var javaScriptVar = '<%= str%>'

</script>

Теперь я хочу итерации для каждого элемента в str. Я использую:

$.each(javaScriptVar, function (i, itemI) {
   //do something
}

Но я получаю следующую ошибку в консоли:

Cannot use 'in' operator to search for 'length' in ["x","y"].

Как сделать это итерабельным? Это потому, что рассматривается как строка? Как сделать его как массив в javascript для повторения элементов в этом?

  • 0
    javaScriptVar.split(''); превратит вашу строку в массив
Теги:
string
iterator

1 ответ

2
Лучший ответ

Вы просто избегаете кавычек, чтобы сделать его объектом (JSON - это допустимое представление объекта в Javascript), иначе вы не можете использовать метод jQuery.each для строки. Ошибка выбрасывается, поскольку она ищет свойство length используемое in операторе, но оно не будет работать со строкой.

var javaScriptVar = <%= str%>


Или проанализируйте строку JSON и укажите ее как аргумент.
$.each(JSON.parse(javaScriptVar), function (i, itemI) {
   //do something
})
  • 0
    Спасибо за быстрый комментарий. Удаление кавычек решило проблему. @PranavCBalan
  • 0
    @ user3750720: рад помочь вам :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню