【发布时间】:2016-11-26 00:50:37
【问题描述】:
所以我有一个庞大的对象数组,看起来像这样:
var obj = [
{longitude: lng1, latitude: lat1},
{longitude: lng2, latitude: lat2}
]
我需要一个 javascript 函数,它允许我像这样排列数组中每个对象的属性的位置:
var switchedObj = [
{latitude: lat1, longitude: lng1},
{latitude: lat2, longitude: lng2}
]
有人能指出我正确的方向吗?
谢谢。
【问题讨论】:
-
permute the positions- 你想交换经度和纬度属性的顺序吗?我能问一下,那会有什么不同吗?这两个对象将具有相同的属性。结果是,javascript 对象属性没有“顺序”的概念,因为没有理由这样做 -
话虽如此,属性的顺序(当 JSON.stringify 输出时)似乎可以控制 -
var switchedObj = obj.map(function(item) {return {latitude:item.latitude, longitude:item.longitude}}); console.log(JSON.stringify(switchedObj));- 你会看到输出具有你想要的顺序的属性 - 现在在 Firefox、Chrum、IE 和 Edge 中测试 - 都表现相同 -
嗨@JaromandaX 感谢您的回答。我稍后会尝试。我之所以需要它,是因为某些框架希望你以某种顺序定义对象,否则它不起作用。我知道,一般来说,javascript没有顺序的概念,但是当涉及到第三方框架时,就另当别论了。希望你能理解我的意思。
-
所以这些第三方框架必须使用 JSON 字符串作为输入?您不只是将
obj作为参数传递给函数吗?如果您是,并且订单对第 3 方框架“重要”,请寻找更好的第 3 方框架:D
标签: javascript arrays json google-maps