在node.js / javascript中迭代多维数组的最佳方法是什么?

时间:2015-11-26 05:43:51

标签: javascript node.js multidimensional-array

我正在尝试迭代Node.js中的多维数组。我在JSON对象中有这样的数组:

{
    "operationalHours": [
        [
            {
                "opens": "11: 15AM",
                "closes": "11: 30AM"
            },
            {
                "opens": "11: 30AM",
                "closes": "11: 45AM"
            },
            {
                "opens": "11: 45AM",
                "closes": "12: 00PM"
            }
        ],
        [
            {
                "opens": "12: 15AM",
                "closes": "12: 30AM"
            },
            {
                "opens": "12: 30AM",
                "closes": "12: 45AM"
            },
            {
                "opens": "01: 00AM",
                "closes": "01: 15AM"
            }
        ]
    ]
}

有没有人知道在node.js中迭代这个的最佳方法?

2 个答案:

答案 0 :(得分:0)

最快"更快"在javascript中迭代数组的方法是:

var i; 
for (i = myarray.length; i--;) {
  console.log(myarray[i]);
}

迭代计数器以相反的顺序 - 从最大数字到零,通常会提高速度,因为与0比较的操作比使用数组长度或任何其他数字的比较操作更有效,不同于0 。

要迭代每个数组元素内的对象,可以使用for in循环:

var i, j; 
for (i = myarray.length; i--;) {
  for (j in myarray[i]) {
      console.log(j, myarray[i][j]);  
  }
}

答案 1 :(得分:-1)

使用lodash

_.forEach(operationalHours, function(el, key) {

});

您还可以找到元素:

var items = _.findWhere(operationalHours[0], {"opens": "11: 30AM"})