javascript - 在 angularjs/javascript 中操作数组

标签 javascript arrays angularjs

我有以下数组:

 [["1", "2", "Anna"], ["1", "2", "Jodie"], ["1", "2", "susan"]]

我的问题是如何输出它们,如下所示?

我想获取所有 1 作为父索引:

(
 [1] =>Array
      (
      [2] => 3
      )
)

数字1表示数组数组的O索引。

21 索引,3 表示 1 索引等于 2 的学生数量。上面的数组中有 3 个学生。

有什么想法吗?

最佳答案

我的理解是,给定[a, b, c]形式的记录,您想要生成一个数组,对通过遍历可以达到某个值的次数求和>ab

给定[ [a,b,x], [a,b,y], [a,b,z] ],您的输出将是{a: {b: 3 }}

给定[ [a,b,x], [a,b,y], [c,d,x], [c,d,y], [e,f,z]],你的输出将是

{
  a: {
    b: 2
  },
  c: {
    d: 2
  },
  e: {
    f: 1
  }
}

这相对简单:

    records = [
      ["1", "2", "Anna"],
      ["1", "2", "Jodie"],
      ["1", "2", "susan"]
    ]
   
    data = {}; // this will hold your final structure
    
    records.forEach(function (r) {
      var first = r[0], second = r[1];

      // create the first dimension unless it exists
      data[first] || (data[first] = {});
    
      // create the second dimension unless it exists
      data[first][second] || (data[first][second] = 0); 
    
      data[first][second]++;
    });
    
    console.log(data);  // { "1": { "2": 3 } }

关于javascript - 在 angularjs/javascript 中操作数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29023700/

相关文章:

Javascript 匿名函数调用

javascript - 如何缩短我在 javascript 中的函数?

AngularJS ng-repeat Math Pow

javascript - 使用Angular的$http服务调用js文件?

javascript - 如何在一个时间间隔内停止对一个函数的多次调用?

javascript - 在 Javascript 字符串中查找单词

php - 有没有什么方法可以禁用或阻止同源 AJAX?

Javascript 函数indexOf 返回不正确的结果

c - c中的数组名到底是什么?

c - C中的中止陷阱6错误