我无法使用查找来获取具有特定ID(getParticularid
)的记录。我正在获取第一条记录,请检查以下代码。在这里,我想使用id来获取记录。请帮助我使用ID提取记录。我试图找到并过滤,但没有运气。
import { Injectable } from '@angular/core';
import { CHARACTERS } from './mock-data';
import { of } from 'rxjs';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class StudentDataService {
constructor() { }
getCharacters() : Observable<any[]>{
return of(CHARACTERS);
}
getColumns() : string[]{
return ["name", "roll", "study"];
}
getParticular(id) : Observable<any[]>{
console.log("idsss-"+id);
return CHARACTERS.find(id=>id === id);
}
}
模拟文件代码
export const CHARACTERS: any[] = [
{
id: '1',
name: 'sai krishna',
roll: '1257',
study: 'mtech'
},
{
id: '2',
name: 'kumar',
roll: '1227',
study: 'btech'
}
]
答案 0 :(得分:2)
您应该从一个对象中获取id
,因为这里有一个对象数组,而不是ids
的数组
getParticular(id) : Observable<any[]>{
console.log("idsss-"+id);
return CHARACTERS.find(obj => obj.id === id);
}
演示:
function getParticular(id) {
console.log("idsss-"+id);
return CHARACTERS.find(obj => obj.id == id);
}
const CHARACTERS = [
{
id: '1',
name: 'sai krishna',
roll: '1257',
study: 'mtech'
},
{
id: '2',
name: 'kumar',
roll: '1227',
study: 'btech'
}
]
var obj = getParticular('2');
console.log(obj);