欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

javascript 分組

JavaScript分組是一個(gè)非常常見的操作,可以用于對(duì)數(shù)據(jù)進(jìn)行分類、過濾、排序等。下面我們就來(lái)詳細(xì)講解JavaScript分組操作。 ```html
let list = [
{ name: '張三', age: 20, gender: 'male' },
{ name: '李四', age: 22, gender: 'male' },
{ name: '王五', age: 18, gender: 'female' },
{ name: '趙六', age: 19, gender: 'female' },
{ name: '錢七', age: 21, gender: 'male' },
];
``` 我們假設(shè)我們有一個(gè)人員列表,如上所示。我們現(xiàn)在要根據(jù)年齡段對(duì)列表進(jìn)行分組,并計(jì)算各組人數(shù)和平均年齡。 ## 根據(jù)年齡段分組 我們可以使用reduce函數(shù),對(duì)年齡進(jìn)行分組。 ```html
let groupByAge = list.reduce((result, item) =>{
const ageGroup = Math.floor(item.age / 10) * 10;
result[ageGroup] = result[ageGroup] || [];
result[ageGroup].push(item);
return result;
}, {});
console.log(groupByAge);
``` 上述代碼中,我們首先使用Math.floor函數(shù)將每個(gè)人的年齡向下取整,然后將同一個(gè)年齡組的人員放在一起。最后返回一個(gè)以年齡段為key的對(duì)象。 輸出結(jié)果如下: ```html
{
'20': [
{ name: '張三', age: 20, gender: 'male' },
{ name: '李四', age: 22, gender: 'male' },
{ name: '趙六', age: 19, gender: 'female' },
],
'10': [ 
{ name: '王五', age: 18, gender: 'female' },
],
'21': [
{ name: '錢七', age: 21, gender: 'male' },
],
}
``` 可以看到,我們已經(jīng)將人員按照年齡段分好了組,接下來(lái)我們需要統(tǒng)計(jì)每個(gè)組的人數(shù)和平均年齡。 ## 統(tǒng)計(jì)組內(nèi)人數(shù)和平均年齡 為了計(jì)算組內(nèi)人數(shù)和平均年齡,我們需要循環(huán)遍歷每個(gè)組,統(tǒng)計(jì)人數(shù)和年齡總和。 ```html
let groupSum = {};
for (let ageGroup in groupByAge) {
let group = groupByAge[ageGroup];
groupSum[ageGroup] = {
count: group.length,
avgAge: group.reduce((sum, item) =>sum + item.age, 0) / group.length,
};
}
console.log(groupSum);
``` 上述代碼中,我們使用for...in循環(huán)遍歷每個(gè)年齡段,然后對(duì)每個(gè)年齡段內(nèi)的人員進(jìn)行統(tǒng)計(jì)。最終輸出每個(gè)年齡段的人數(shù)和平均年齡。 輸出結(jié)果如下: ```html
{
'20': { count: 3, avgAge: 20.333333333333332 },
'10': { count: 1, avgAge: 18 },
'21': { count: 1, avgAge: 21 },
}
``` 綜上所述,JavaScript分組操作是非常實(shí)用且常見的操作。無(wú)論是對(duì)數(shù)據(jù)進(jìn)行分類、過濾、排序等,分組都是一個(gè)很好的工具。希望本文對(duì)您有所幫助。