javascript - Firebase Angular - 按值对我的用户进行排序 - 排序不是函数
问题描述
我正在使用 firebase 和 Angular,这是我的用户数据库:
我想按“ptsTotal”对我的用户进行排序。
我有一个带有函数 getUsersByPoints 的 users.service。但是当我使用它时,控制台会返回给我:this.users.sort 不是一个函数。
我看不出我在哪里做错了。你能帮我找出错误或给我另一个解决方案来对我的用户进行排序吗?
非常感谢,
import { Injectable } from '@angular/core';
import {User} from '../models/user.model';
import {Subject} from 'rxjs/Subject';
import * as firebase from 'firebase';
@Injectable({
providedIn: 'root'
})
export class UsersService {
users: User[] = [];
usersSubject = new Subject<User[]>();
constructor() { }
emitUsers(){
this.usersSubject.next(this.users);
}
saveUsers(){
firebase.database().ref('/users').set(this.users);
}
getUsers(){
firebase.database().ref('/users')
.on('value',(data)=>{
this.users = data.val() ? data.val() : [];
this.users.sort((a,b)=>a.ptsTotal-b.ptsTotal);
this.emitUsers();
});
}
解决方案
推荐阅读
- node.js - 如何使用 nodejs 和 pug 打印我的数据库输出?
- algorithm - 什么数字加起来k?
- json - Ubuntu:加载共享库时出错:libqjsonrpc.so.1
- javascript - html 文件中的表单数据未链接到 .js 文件
- mysql - MySQL LEFT JOIN 仅 1 行取决于 MAX() 值
- python - 使用和不使用换行符的 Python 打印
- sql - SQL Server - 选择查询 - 内部联接 - 错误消息:无法解决排序规则冲突
- angular - 如何从服务器端构建与 Angular 路由对应的路由?
- database - 在eclipse中运行jbmp示例时出现问题
- javascript - 如何将 json 数组从 html 文件的脚本部分传递到 javascript 索引?