我的scope.data有内部数组问题
问题:[{q1:sth1,q2:sth1,q3:sth2},{q1:sth2,q2:sth1,q3:sth2} ...]
我想使用angular.forEach表达式来遍历数组,并且每个q [1-9]计算它有多少有vaules sth1和sth2
示例下面的结果是q1:sth1 = 1,q1:sth2 = 1,q2:sth1 = 2,q2:sth2 = 0等....
实际上我不知道如何使用正则表达式。
例如
angular.forEach(array.questions.q / [0-9] / ??所以它会为每个值q1 q2 q3 q4创建一些业务逻辑,具体取决于我将在阵列中拥有多少个&#39 ; s对象。
答案 0 :(得分:0)
您可以尝试这样的事情:
$scope.data = [
{q1:sth1,q2:sth1,q3:sth2},
{q1:sth2,q2:sth1,q3:sth2},
{q1:sth2,q2:sth1,q3:sth1}
];
var count = {};
angular.forEach($scope.data, function (question, key) {
var context = this;
Object.keys(question).forEach( function (prop) {
if (prop.search(/q[1-9]/) !== -1 ) {
var value = question[prop];
if (context[prop] === undefined) {
context[prop] = {};
context[prop][value] = 1;
} else if (context[prop][value] === undefined) {
context[prop][value] = 1;
} else {
context[prop][value]++;
}
}
});
}, count);