我正在尝试找出分割一个对象的最佳方法,该对象具有超过 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 FIDDLE http://jsfiddle.net/b3j4w9bv/14/
谢谢!
最佳答案
您可以按照以下方式做一些事情:
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);
}
我还没有测试过它的性能......它可能不是最有效的
fiddle :http://jsfiddle.net/g123vyuv/
关于Javascript 循环遍历包含逗号分隔值的数组键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26520755/