【问题标题】:How can I convert a string to an Array in JavaScript?如何在 JavaScript 中将字符串转换为数组?
【发布时间】:2011-09-13 17:12:34
【问题描述】:
[["SFO",37.77493,-122.41942],["LAX",34.05223,-118.24368]]

这是我的字符串,我想将其转换为:

arr[0] = ["SFO"....
arr[1] = ["LAX"...

编辑

让我澄清一下:

var str = '[["SFO",37.77493,-122.41942],["LAX",34.05223,-118.24368]]'

【问题讨论】:

  • ["SFO,37.77493... 已经是一个数组。
  • var arr = eval('[["SFO",37.77493,-122.41942],["LAX",34.05223,-118.24368]]'); 应该会给你你想要的东西。 arr[0] = ["SFO"...
  • 我听说eval 是邪恶的,使用起来非常糟糕。 (bytes.com/topic/javascript/answers/145037-why-eval-evil)

标签: javascript arrays string


【解决方案1】:

你可以使用JSON.parse:

JSON.parse('[["SFO",37.77493,-122.41942],["LAX",34.05223,-118.24368]]')

IE7及以下需求:

<!--[if lt IE 8.]>
<script src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js"></script>
<![endif]-->

JSON.parse 将字符串转换为 javascript 对象。数组是对象。上面的字符串会解析成一个数组:

var array = JSON.parse('[["SFO",37.77493,-122.41942],["LAX",34.05223,-118.24368]]')
alert ( typeof array ); // object
alert ( array instanceof Array); // true

【讨论】:

  • 这将转换为 JSON,而不是数组
【解决方案2】:
var arr = [["SFO",37.77493,-122.41942],["LAX",34.05223,-118.24368]];
console.log(arr[0]); // ["SFO", 37.77493, -122.41942]
console.log(arr[1]); // ["LAX", 34.05223, -118.24368]

【讨论】:

    猜你喜欢
    • 2015-11-11
    • 2017-10-15
    • 2022-11-29
    • 2015-10-26
    • 1970-01-01
    • 2011-09-22
    • 2022-01-23
    • 2019-06-27
    相关资源
    最近更新 更多