所以我正在使用node.js,express,mongo,socket.io开发一个项目。我能够检索地理位置坐标并将它们放入隐藏的输入字段,然后将其传递给服务器以便能够将其保存到数据库中。问题是它会省空。所以我的解决方案是我创建了一个json对象(var point = { type: "Point", coordinates: [ req.body.coordinates ] };
)。我console.logged它,看到它返回我的坐标作为我的字符串。因此,下一步是在逗号后爆炸字符串,然后将值放入单独的变量中。
我能够在逗号之后分割坐标,但是如何将单独的值分别放入自己的var中。
这是我的代码:
var point = { type: "Point", coordinates: [ req.body.coordinates ] };
//console.log(point);
var convert = req.body.coordinates;
console.log("Logging req.body.coordinates");
console.log(point);
var split = convert.split(",");
console.log("Logging split");
console.log(split);
console.log拆分的输出如下
记录拆分 ['4.3986154','51 .222003900000004']
我想做的是将4.3986154放入var x,将51.222003900000004放入var y
欢迎任何帮助。
答案 0 :(得分:2)
您可以在支持ECMAScript 6的环境中执行此操作:
let [x, y] = convert.split(",");
答案 1 :(得分:1)
您可以将数组项存储在单独的变量中:
var x = split[0];
var y = split[1];
顺便说一下,我建议你把它们存放在一个物体中应该更好:
var coordinateArray = req.body.coordinates.split(",");
var point = { type: "Point", coordinates: { x: coordinateArray[0], y: coordinateArray[1] };
您可以使用点语法访问它们:point.coordinates.x
或point.coordinates.y
。