我有以下数组:
[["1", "2", "Anna"], ["1", "2", "Jodie"], ["1", "2", "susan"]]
我的问题是如何输出它们,如下所示?
我想获取所有 1
作为父索引:
(
[1] =>Array
(
[2] => 3
)
)
数字1
表示数组数组的O
索引。
2
是 1
索引,3
表示 1
索引等于 2 的学生数量。上面的数组中有 3 个学生。
有什么想法吗?
最佳答案
我的理解是,给定[a, b, c]
形式的记录,您想要生成一个数组,对通过遍历可以达到某个值的次数求和>a
到 b
。
给定[ [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/