如何在Angular2 Typescript中返回多个值
在md表中实现filter和pagination函数时,我试图在typescript中返回多个值。当我运行代码时,检测到无法访问的错误代码如何在Angular2 Typescript中返回多个值,angular,filter,pagination,angular-material,Angular,Filter,Pagination,Angular Material,在md表中实现filter和pagination函数时,我试图在typescript中返回多个值。当我运行代码时,检测到无法访问的错误代码 return Observable.merge(...displayPatientDataChanges).map(() => { const startIndex = this._paginator.pageIndex * this._paginator.pageSize; const data = this._patientDatab
return Observable.merge(...displayPatientDataChanges).map(() => {
const startIndex = this._paginator.pageIndex * this._paginator.pageSize;
const data = this._patientDatabase.data.slice();
return data.splice(startIndex, this._paginator.pageSize);
// I get the error here on the second return function
return this._patientDatabase.data.slice().filter((item: Patient) => {
let searchStr = (item.firstname + item.lastname).toLowerCase();
return searchStr.indexOf(this.filter.toLowerCase()) != -1;
});
});
}
disconnect() {}
这是因为方法在达到以下条件后结束:
return data.splice(startIndex, this._paginator.pageSize);
这意味着从未达到以下代码,因此检测到错误无法达到的代码
:
return this._patientDatabase.data.slice().filter((item: Patient) => {
let searchStr = (item.firstname + item.lastname).toLowerCase();
return searchStr.indexOf(this.filter.toLowerCase()) != -1;
});
如果要同时返回这两个值,则需要返回数组或对象:
const something1 = data.splice(startIndex, this._paginator.pageSize);
const something2 = this._patientDatabase.data.slice().filter((item: Patient) => {
let searchStr = (item.firstname + item.lastname).toLowerCase();
return searchStr.indexOf(this.filter.toLowerCase()) != -1;
});
return [something1, something2] // or {something1, something2}
如果我想把两者都退呢?我该怎么做?@mots我已经更新了关于如何返回多个值的答案在一次一行调用中分配两个返回值的任何方法?@Stephane
const[val1,val2]=[1,2]
,docs:我注意到我们还可以添加类型,如const[val1,val2]:[string,number]=[Stephane',10]代码>