迭代字符串中的元素

时间:2017-09-25 19:07:19

标签: javascript string iterator

我正在使用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中将其作为一个数组来迭代其中的元素?

1 个答案:

答案 0 :(得分:2)

你只是为了避免引号使它成为一个对象(JSON是Javascript中的有效对象表示),否则你不能在字符串上使用jQuery.each方法。错误是抛出,因为它使用in operator查找length属性,但它不适用于字符串。

var javaScriptVar = <%= str%>

<小时/> 或者解析JSON字符串并将其作为参数提供。

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