다른 배열에서 항목의 평균을 구하는 빠른 예
25789 단어 reactjavascript
⚠ 면책 조항
이것은 다른 배열에서 다른 항목의 평균을 계산하는 방법에 대한 간단한 예입니다. 더 나은 솔루션이 있으면 알려주십시오.
개요
데이터 기준은 과일 종류가 다른 3개의 과일 바구니와 바구니에 있는 항목 수입니다. React 웹 페이지를 사용하면 여러 바구니를 선택할 수 있으며 항목의 평균이 계산됩니다.
const fruitBaskets = [
{
name: "fruitBasket1",
fruitBasket: [
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 3 },
{ fruitName: "Strawberry", count: 9 },
{ fruitName: "Lemon", count: 7 }
]
},
{
name: "fruitBasket2",
fruitBasket: [
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 8 },
{ fruitName: "Lemon", count: 3 }
]
},
{
name: "fruitBasket3",
fruitBasket: [
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 3 },
{ fruitName: "Orange", count: 3 },
{ fruitName: "Lemon", count: 9 },
{ fruitName: "Strawberry", count: 5 }
]
}
];
구현
구현은 다음과 같습니다.
웹페이지 - App.js
App.js
에는 드롭다운을 통한 과일 바구니 선택과 결과 테이블이 포함되어 있습니다. 코딩은 here 입니다.
계산 - data.js
data.js
에는 과일 바구니의 데이터와 계산 입력 데이터가 포함되어 있습니다. 코딩은 here 입니다.
계산에는 세 단계가 있으며 바스켓 1과 2로 설명되며 이 형식입니다.
[
[
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 3 },
{ fruitName: "Strawberry", count: 9 },
{ fruitName: "Lemon", count: 7 }
],
[
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 8 },
{ fruitName: "Lemon", count: 3 }
]
]
병합
바스켓 1과 2가 선택되었습니다. 이 두 배열은 이 코딩과 병합됩니다.
selectedFruitBaskets.forEach(selectedFruitBasket => {
const found = fruitBaskets.find(
fruitBasket => fruitBasket.name === selectedFruitBasket.name
);
fruits.push(found.fruitBasket);
});
const basketCounts = fruits.length;
const mergedBasket = [].concat(...fruits);
후에
[
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 3 },
{ fruitName: "Strawberry", count: 9 },
{ fruitName: "Lemon", count: 7 },
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 8 },
{ fruitName: "Lemon", count: 3 }
]
합집합
이 단계에서 각 종류의 과일 수를 합산합니다.
const basketSum = mergedBasket.reduce((acc, curr) => {
if (!acc[curr.fruitName]) {
acc[curr.fruitName] = { ...curr, countInBaskets: 1, sum: curr.count };
return acc;
}
acc[curr.fruitName].countInBaskets += 1;
acc[curr.fruitName].sum += curr.count;
return acc;
}, {});
후에
{
"Apple": {
"count": 5,
"countInBaskets": 2,
"fruitName": "Apple",
"sum": 10
},
"Banana": {
"count": 3,
"countInBaskets": 2,
"fruitName": "Banana",
"sum": 11
},
"Lemon": {
"count": 7,
"countInBaskets": 2,
"fruitName": "Lemon",
"sum": 10
},
"Strawberry": {
"count": 9,
"countInBaskets": 1,
"fruitName": "Strawberry",
"sum": 9
}
}
평균
합계 후 평균을 계산할 수 있습니다.
const basketAverage = Object.keys(basketSum).map(fruitName => {
const item = basketSum[fruitName];
return {
fruitName: item.fruitName,
averageCountOverall: item.sum / basketCounts,
averageCountWithMinOne: item.sum / item.countInBaskets,
sum: item.sum
};
});
return basketAverage;
후에
[
{
"averageCountOverall": 5,
"averageCountWithMinOne": 5,
"fruitName": "Apple",
"sum": 10
},
{
"averageCountOverall": 5.5,
"averageCountWithMinOne": 5.5,
"fruitName": "Banana",
"sum": 11
},
{
"averageCountOverall": 4.5,
"averageCountWithMinOne": 9,
"fruitName": "Strawberry",
"sum": 9
},
{
"averageCountOverall": 5,
"averageCountWithMinOne": 5,
"fruitName": "Lemon",
"sum": 10
}
]
결과
코딩
GitHub 또는 StackBlitz의 코딩을 참조하십시오.
JohannesKonings
/
예-반응-다른-배열의 항목 평균
StackBlitz ⚡️로 생성
예-반응-평균-항목-다른-배열
Edit on StackBlitz ⚡️
View on GitHub
Reference
이 문제에 관하여(다른 배열에서 항목의 평균을 구하는 빠른 예), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/johanneskonings/quick-example-to-get-the-average-of-items-from-different-arrays-4oae
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
데이터 기준은 과일 종류가 다른 3개의 과일 바구니와 바구니에 있는 항목 수입니다. React 웹 페이지를 사용하면 여러 바구니를 선택할 수 있으며 항목의 평균이 계산됩니다.
const fruitBaskets = [
{
name: "fruitBasket1",
fruitBasket: [
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 3 },
{ fruitName: "Strawberry", count: 9 },
{ fruitName: "Lemon", count: 7 }
]
},
{
name: "fruitBasket2",
fruitBasket: [
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 8 },
{ fruitName: "Lemon", count: 3 }
]
},
{
name: "fruitBasket3",
fruitBasket: [
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 3 },
{ fruitName: "Orange", count: 3 },
{ fruitName: "Lemon", count: 9 },
{ fruitName: "Strawberry", count: 5 }
]
}
];
구현
구현은 다음과 같습니다.
웹페이지 - App.js
App.js
에는 드롭다운을 통한 과일 바구니 선택과 결과 테이블이 포함되어 있습니다. 코딩은 here 입니다.
계산 - data.js
data.js
에는 과일 바구니의 데이터와 계산 입력 데이터가 포함되어 있습니다. 코딩은 here 입니다.
계산에는 세 단계가 있으며 바스켓 1과 2로 설명되며 이 형식입니다.
[
[
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 3 },
{ fruitName: "Strawberry", count: 9 },
{ fruitName: "Lemon", count: 7 }
],
[
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 8 },
{ fruitName: "Lemon", count: 3 }
]
]
병합
바스켓 1과 2가 선택되었습니다. 이 두 배열은 이 코딩과 병합됩니다.
selectedFruitBaskets.forEach(selectedFruitBasket => {
const found = fruitBaskets.find(
fruitBasket => fruitBasket.name === selectedFruitBasket.name
);
fruits.push(found.fruitBasket);
});
const basketCounts = fruits.length;
const mergedBasket = [].concat(...fruits);
후에
[
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 3 },
{ fruitName: "Strawberry", count: 9 },
{ fruitName: "Lemon", count: 7 },
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 8 },
{ fruitName: "Lemon", count: 3 }
]
합집합
이 단계에서 각 종류의 과일 수를 합산합니다.
const basketSum = mergedBasket.reduce((acc, curr) => {
if (!acc[curr.fruitName]) {
acc[curr.fruitName] = { ...curr, countInBaskets: 1, sum: curr.count };
return acc;
}
acc[curr.fruitName].countInBaskets += 1;
acc[curr.fruitName].sum += curr.count;
return acc;
}, {});
후에
{
"Apple": {
"count": 5,
"countInBaskets": 2,
"fruitName": "Apple",
"sum": 10
},
"Banana": {
"count": 3,
"countInBaskets": 2,
"fruitName": "Banana",
"sum": 11
},
"Lemon": {
"count": 7,
"countInBaskets": 2,
"fruitName": "Lemon",
"sum": 10
},
"Strawberry": {
"count": 9,
"countInBaskets": 1,
"fruitName": "Strawberry",
"sum": 9
}
}
평균
합계 후 평균을 계산할 수 있습니다.
const basketAverage = Object.keys(basketSum).map(fruitName => {
const item = basketSum[fruitName];
return {
fruitName: item.fruitName,
averageCountOverall: item.sum / basketCounts,
averageCountWithMinOne: item.sum / item.countInBaskets,
sum: item.sum
};
});
return basketAverage;
후에
[
{
"averageCountOverall": 5,
"averageCountWithMinOne": 5,
"fruitName": "Apple",
"sum": 10
},
{
"averageCountOverall": 5.5,
"averageCountWithMinOne": 5.5,
"fruitName": "Banana",
"sum": 11
},
{
"averageCountOverall": 4.5,
"averageCountWithMinOne": 9,
"fruitName": "Strawberry",
"sum": 9
},
{
"averageCountOverall": 5,
"averageCountWithMinOne": 5,
"fruitName": "Lemon",
"sum": 10
}
]
결과
코딩
GitHub 또는 StackBlitz의 코딩을 참조하십시오.
JohannesKonings
/
예-반응-다른-배열의 항목 평균
StackBlitz ⚡️로 생성
예-반응-평균-항목-다른-배열
Edit on StackBlitz ⚡️
View on GitHub
Reference
이 문제에 관하여(다른 배열에서 항목의 평균을 구하는 빠른 예), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/johanneskonings/quick-example-to-get-the-average-of-items-from-different-arrays-4oae
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
[
[
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 3 },
{ fruitName: "Strawberry", count: 9 },
{ fruitName: "Lemon", count: 7 }
],
[
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 8 },
{ fruitName: "Lemon", count: 3 }
]
]
selectedFruitBaskets.forEach(selectedFruitBasket => {
const found = fruitBaskets.find(
fruitBasket => fruitBasket.name === selectedFruitBasket.name
);
fruits.push(found.fruitBasket);
});
const basketCounts = fruits.length;
const mergedBasket = [].concat(...fruits);
[
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 3 },
{ fruitName: "Strawberry", count: 9 },
{ fruitName: "Lemon", count: 7 },
{ fruitName: "Apple", count: 5 },
{ fruitName: "Banana", count: 8 },
{ fruitName: "Lemon", count: 3 }
]
const basketSum = mergedBasket.reduce((acc, curr) => {
if (!acc[curr.fruitName]) {
acc[curr.fruitName] = { ...curr, countInBaskets: 1, sum: curr.count };
return acc;
}
acc[curr.fruitName].countInBaskets += 1;
acc[curr.fruitName].sum += curr.count;
return acc;
}, {});
{
"Apple": {
"count": 5,
"countInBaskets": 2,
"fruitName": "Apple",
"sum": 10
},
"Banana": {
"count": 3,
"countInBaskets": 2,
"fruitName": "Banana",
"sum": 11
},
"Lemon": {
"count": 7,
"countInBaskets": 2,
"fruitName": "Lemon",
"sum": 10
},
"Strawberry": {
"count": 9,
"countInBaskets": 1,
"fruitName": "Strawberry",
"sum": 9
}
}
const basketAverage = Object.keys(basketSum).map(fruitName => {
const item = basketSum[fruitName];
return {
fruitName: item.fruitName,
averageCountOverall: item.sum / basketCounts,
averageCountWithMinOne: item.sum / item.countInBaskets,
sum: item.sum
};
});
return basketAverage;
[
{
"averageCountOverall": 5,
"averageCountWithMinOne": 5,
"fruitName": "Apple",
"sum": 10
},
{
"averageCountOverall": 5.5,
"averageCountWithMinOne": 5.5,
"fruitName": "Banana",
"sum": 11
},
{
"averageCountOverall": 4.5,
"averageCountWithMinOne": 9,
"fruitName": "Strawberry",
"sum": 9
},
{
"averageCountOverall": 5,
"averageCountWithMinOne": 5,
"fruitName": "Lemon",
"sum": 10
}
]
코딩
GitHub 또는 StackBlitz의 코딩을 참조하십시오.
JohannesKonings
/
예-반응-다른-배열의 항목 평균
StackBlitz ⚡️로 생성
예-반응-평균-항목-다른-배열
Edit on StackBlitz ⚡️
View on GitHub
Reference
이 문제에 관하여(다른 배열에서 항목의 평균을 구하는 빠른 예), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/johanneskonings/quick-example-to-get-the-average-of-items-from-different-arrays-4oae
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Edit on StackBlitz
View on GitHub
Reference
이 문제에 관하여(다른 배열에서 항목의 평균을 구하는 빠른 예), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/johanneskonings/quick-example-to-get-the-average-of-items-from-different-arrays-4oae텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)