gpt4 book ai didi

javascript - 在 CoffeeScript 中使用数组

转载 作者:行者123 更新时间:2023-12-03 12:18:27 24 4
gpt4 key购买 nike

我正在使用google-maps-for-rails (gmap4rails) 。 gem 有一个方法可以创建一个在 javascript 中使用的数组。

hash = Gmaps4rails.build_markers(@users) do |user, marker|
marker.lat user.latitude
marker.lng user.longitude
end

这会产生以下结果:

[{:lat=>33.462209, :lng=>-86.812519, :infowindow=>"hello"}]

或更容易阅读

[
{
:lat => 33.462209,
:lng => -86.812519,
:infowindow => "hello"
}
]

我试图在coffeescript中使用它,但是我将这个数组从 Controller 中的变量传递到coffeescript中。 (我使用 Paloma JS 作为页面特定的 js,您可以在其中访问 CoffeeScript 中的 Controller 变量。)

我尝试将数组转换为 JSON 并使用 gsub 来替换字符,但遇到了困难。

具体来说,我尝试转换为 JSON,然后删除逗号 hash.to_json.gsub(/,/, ''),其输出

[{"lat":33.462209"lng":-86.812519"infowindow":"hello"}]

我想我需要删除这里的方括号,{},并且可能包含 CoffeeScript 的正确行缩进。

最后,它应该看起来像这样:

[
lat: 33.462209
lng: -86.812519
infowindow: "hello"
]

有什么想法吗?感谢您抽出时间。

最佳答案

I've tried to convert the array into JSON and used gsub to replace characters, but I've been having difficulty.

您应该直接使用您正在生成的 JSON。这是完全有效的 CoffeeScript。根本没有理由尝试从中剥离任何内容。

无论如何,您尝试生成的 CoffeeScript 实际上是相同的。这...

[
lat: 33.462209
lng: -86.812519
infowindow: "hello"
]

实际上是 [{ lat: ..., lng: ..., }],带有逗号和 {} 隐藏但在语法上仍然存在。 CoffeeScript 允许您在定义对象字面量时省略 {},但它仍然是一个对象字面量,从 JSON 中剥离它们不会带来任何好处。无论哪种方式,您生成的结构都是相同的:一个数组,包含一个元素,该元素是一个对象,包含属性 lat/lng/infowindow。

关于javascript - 在 CoffeeScript 中使用数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24561007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com