通过字符串中的元素迭代
问题描述:
我正在使用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中的数组来遍历该元素?
答
或分析JSON字符串,并提供它作为参数。
你只是为了避免周围的引号使它成为一个对象(JSON是Javascript中的有效对象表示),否则你不能在字符串上使用jQuery.each
方法。错误是因为它使用in
operator寻找length
属性,但它不适用于字符串。
var javaScriptVar = <%= str%>
或分析JSON字符串,并提供它作为参数。
$.each(JSON.parse(javaScriptVar), function (i, itemI) {
//do something
})
+0
感谢您的快速评论。删除引号解决了问题。 @PranavCBalan – user3750720
+0
@ user3750720:很高兴帮助你:) –
'javaScriptVar.split('');'会将您的字符串转换为数组 – Ammar