70 lines
1.3 KiB
TypeScript
70 lines
1.3 KiB
TypeScript
import {Component, OnInit} from '@angular/core';
|
|
import {HotelsComponent} from "./hotel/hotels.component";
|
|
import {IdkComponent} from "./idek/idk.component";
|
|
import {filter, from, map, reduce} from "rxjs";
|
|
import {RouterOutlet} from "@angular/router";
|
|
|
|
@Component({
|
|
selector: 'app-root',
|
|
standalone: true,
|
|
imports: [HotelsComponent, IdkComponent, RouterOutlet],
|
|
template: `
|
|
<router-outlet />
|
|
`
|
|
})
|
|
export class AppComponent implements OnInit {
|
|
ngOnInit() {
|
|
const users = [
|
|
{
|
|
name: 'John',
|
|
age: 15,
|
|
},
|
|
{
|
|
name: 'Alice',
|
|
age: 16,
|
|
},
|
|
{
|
|
name: 'Bob',
|
|
age: 45,
|
|
},
|
|
{
|
|
name: 'Eve',
|
|
age: 29,
|
|
},
|
|
{
|
|
name: 'Charlie',
|
|
age: 52,
|
|
},
|
|
{
|
|
name: 'Dave',
|
|
age: 41,
|
|
},
|
|
{
|
|
name: 'Mallory',
|
|
age: 37,
|
|
},
|
|
{
|
|
name: 'Trent',
|
|
age: 48,
|
|
},
|
|
{
|
|
name: 'Peggy',
|
|
age: 26,
|
|
},
|
|
{
|
|
name: 'Victor',
|
|
age: 39,
|
|
}
|
|
];
|
|
|
|
from(users).pipe(
|
|
filter(user => user.age >= 18),
|
|
reduce((acc, user) => {
|
|
acc.age += user.age
|
|
acc.count++;
|
|
return acc;
|
|
}, {age: 0, count: 0}),
|
|
map(data => data.age / data.count),
|
|
).subscribe((data) => {console.log("avg age: ", data)});
|
|
}
|
|
}
|