【问题标题】:Javascript loop through array keys containing comma seperated valuesJavascript循环遍历包含逗号分隔值的数组键
【发布时间】:2014-10-23 03:19:41
【问题描述】:

我正在尝试找出分割对象的最佳方法,该对象具有超过 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 小提琴 http://jsfiddle.net/b3j4w9bv/14/

谢谢!

【问题讨论】:

    标签: javascript arrays html object coordinates


    【解决方案1】:

    您可以按照以下方式做一些事情:

    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);
    }
    

    我还没有在性能方面对此进行测试..它可能不是最有效的

    小提琴:http://jsfiddle.net/g123vyuv/

    【讨论】:

      猜你喜欢
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 2012-05-28
      • 1970-01-01
      • 2021-09-18
      • 2016-01-10
      • 1970-01-01
      • 2019-10-13
      相关资源
      最近更新 更多