javascript reduce () 의 용법
[x1, x2, x3, x4].reduce(f) = f(f(f(x1, x2), x3), x4)
예 를 들 어 하나의 Array 에 대해 화 해 를 구하 면 reduce 로 실현 할 수 있다.
var arr = [1, 3, 5, 7, 9];
arr.reduce(function (x, y) {
return x + y;
}); // 25
문법:
arr.reduce(fn(pre,cur,arr){},[initialValue])
일부 묘 용: 모든 문자 가 나타 난 횟수 를 통계 합 니 다./ / 방법 1:
var obj=Array.prototype.reduce.call(str,function(pre,cur){
pre[cur]?pre[cur]++:pre[cur]=1;
return pre;
},{});
console.log(obj);
//{a: 4, b: 1, c: 3, d: 3, e: 3, …}
/ / 방법 2:
var obj=str.split('').reduce(function(pre,cur){
pre[cur]?pre[cur]++:pre[cur]=1;
return pre;
},{})
console.log(obj);
//{a: 4, b: 1, c: 3, d: 3, e: 3, …}
누적
var arr=[1,2,3,4,5,6];
var sum=arr.reduce(function(pre,cur,index,arr){
console.log(index);//
return pre+cur;
});
console.log(sum);//21
add () (1, 2) (3, 4) (7, 8, 9) () 실현
function add(){
var sum=0;
function inner(pre,cur){
return pre+cur;
}
sum=Array.prototype.slice.call(arguments).reduce(inner,sum);
return function(){
if(arguments.length==0){
return sum;
}else{
sum=Array.prototype.slice.call(arguments).reduce(inner,sum);
return arguments.callee;
}
}
}
console.log(add()(1)(2,3)());//6
reduce 작업 대상 은 두 번 째 매개 변 수 를 통 해 초기 값 작업 대상 의 단일 속성 을 지정 할 수 있 습 니 다.
var result = [
{
subject: 'math',
score: 88
},
{
subject: 'chinese',
score: 95
},
{
subject: 'english',
score: 80
}
];
var totalScore=result.reduce(function (pre,cur) {
return pre+cur.score;
},0);
console.log(totalScore);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.