Javascript 循环遍历包含逗号分隔值的数组键

标签 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 + " 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/

相关文章:

javascript - 如何不区分大小写包含使用 lodash 进行搜索

乱序显示的 HTML 元素

html - 如何使用两个按钮将一个 html 页面重定向到另外两个 html 页面?

javascript - 删除 2 个 div 之间的单个字符

javascript - 检查父 iFrame 是否已加载 jQuery

arrays - 为什么我的堆栈实现中的 `push()` 无法正常工作?

arrays - VBA - 数组中的自定义数字格式 - 特定数组编号后出现错误

javascript - 在文本框中设置第一个单词的背景颜色?

javascript - 如何向指令添加 bool 属性?

javascript - 左浮动元素与右浮动元素的滑动动画