我在控制台中收到一个错误,说明ERROR ReferenceError: sortedArr is not defined
在我定义它并对其进行排序之后。
这是我的 app.component.ts 文件:
import { Component } from '@angular/core';
import { HttpClient, OnInit } from '@angular/common/http';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
title = 'Contacts';
contacts: any[] = this.contacts;
constructor (private httpClient: HttpClient) {}
ngOnInit(): void {
//Pull JSON data from REST API
this.httpClient.get('***URL TO JSON DATA***')
.subscribe((data) => {
this.contacts = data;
//Sort JSON object
let arr = this.contacts;
let sortedArr = arr.sort( (a, b) => {
return (typeof a.name === 'string') - (typeof b.name === 'string') || a.name - b.name || a.name.localeCompare(b.name);
}););
console.log(sortedArr);
});
}
已排序的对象数组绑定到我的 Web 应用程序页面上的 HTML,但它不在控制台中。当我刚刚定义并排序了这个数组时,为什么我会得到一个 ReferenceError?
我问的真正原因是因为我需要对这个对象数组做一些不同的事情才能让它正确地与我的 HTML 一起运行。它允许我通过我编写的函数对其进行排序,但我不能在sortedArray
变量上调用另一个方法,因为它说它没有定义。