0
개체 배열이 있습니다. weightedAverage
속성을 업데이트해야합니다. 처음에는 weightedAverage
이 0으로 설정되었습니다. 자세한 내용은 아래 스크립트를 참조하십시오.밑줄을 사용하여 개체 확장
예상 OUPUT은 다음과 같습니다
[
{
area:"Digital",
category:"Medical",
qId:"wRHmpHHGzrYLsCEJ32",
qqId:"step1",
type:"Reduce",
val:1,
**weightedAverage:80**
}
];
스크립트
var arrayFlatten = [
{
area:"Digital",
category:"Medical",
qId:"wRHmpHHGzrYLsCEJ32",
qqId:"step1",
type:"Reduce",
val:1,
weightedAverage:0
},
{
area:"Digital",
category:"Analytics",
qId:"wRHmpHHGzrYLsCEJ32",
qqId:"step1",
type:"Reduce",
val:1,
weightedAverage:0
},
{
area:"Digtal",
category:"Medical",
qId:"wRHmpHHGzrYLsCEJ32",
qqId:"step1",
type:"Reduce",
val:10,
weightedAverage:0
}
];
//groupBy qid
var groupqId = _.groupBy(arrayFlatten,'qId');
console.log(groupqId);
//value dividedby total value
var result = {};
_.each(groupqId, function(val, key) {
console.log(val);
result.qId=key;
result.weightedAverage = _.reduce(val, function(memo, v) {
console.log(v);
return memo + v.val;
}, 0)/15 * 100;
});
console.log(result);
에 대한 간단한? –
위 내용을 참조하십시오. 최종 출력물은 {qId : "wRHmpHHGzrYLsCEJ321", weightedAverage : 80}입니다. 하지만 아래 [ { 영역을 찾고 : "디지털" 카테고리 : "의료", QID "wRHmpHHGzrYLsCEJ32" qqId : "1 단계" 유형 : "줄", 발 : 1, ** 가중 평균 : 80 ** } ]; –