Javascript通过包含逗号分隔值的数组键循环

Javascript通过包含逗号分隔值的数组键循环,javascript,arrays,html,object,coordinates,Javascript,Arrays,Html,Object,Coordinates,我正在尝试找出分割一个对象的最佳方法,该对象有超过800个点的多个键值对(它们是X和Y坐标) 我想把X分成它自己的数组,把Y分成一个单独的数组,这样我就可以单独访问X和Y了 以下是要点的结构和我所尝试的内容 var path = { 0: [41, -73], 1: [41, -74], 2: [42, -75], 3: [43, -76] }; for (var key in path) { console.log("key " + key + " h

我正在尝试找出分割一个对象的最佳方法,该对象有超过800个点的多个键值对(它们是X和Y坐标)

我想把X分成它自己的数组,把Y分成一个单独的数组,这样我就可以单独访问X和Y了

以下是要点的结构和我所尝试的内容

var path = {
    0: [41, -73],
    1: [41, -74],
    2: [42, -75],
    3: [43, -76]
};

for (var key in path) {
    console.log("key " + key + " has value " + path[key]);
}
这将记录

  key 0 has value 41,-73 

  key 1 has value 42,-74 

  key 2 has value 43,-75 

  key 3 has value 44,-76
我需要第一个值存储在它自己的数组中,第二个值存储在另一个数组中。

例如,我想访问所有的X和Y

var x = [41, 42, 43, 44]
var y = [-73,-74,-75,-76]
JS在这里拉小提琴


谢谢

您可以按照以下思路做一些事情:

var path = {
0: [41, -73],
1: [41, -74],
2: [42, -75],
3: [43, -76]
};

var x_path = [];
var y_path = [];

for(var key in path)
{
   //console.log("key " + key + " has value " + path[key]);
   //create a split on , for x & y
   var split_path = path[key];
   //grab the value of the split:
   var x = split_path[0];
   var y = split_path[1];

    //add the coords to their arrays.
    x_path.push(x);
    y_path.push(y);

    //output result:
    console.log(x_path);
    console.log(y_path);
}
我还没有测试过它的性能。它可能不是最有效的

小提琴: