我有一组数据,因为我必须用我的userId过滤数据并仅在列表中显示。 请帮忙。 TS:
getDicomList() {
this.service.getDicomList(params)
.subscribe((res) => {
this.dicomLists = res.Body.Data.dicomList;
console.log(this.dicomLists, "shghds")
let ids = this.dicomLists.map(item => item.CreatedBy);
let filteredData = this.dicomLists.filter(item => ids.indexOf(item.CreatedBy) === -1);
})
i need to compare with my this.userId and item.CreatedBy
控制台:
(10) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
0: {StudyInstanceUID: "999.999.1.19941016.83000", StudyID: "ACC99", SeriesNumber: "2", AcquisitionNumber: "0", InstanceNumber: "101", …}
1: {StudyInstanceUID: "1.3.6.1.4.1.18047.1.11.10021841473447061672", StudyID: "", SeriesNumber: "3", AcquisitionNumber: "1", InstanceNumber: "49", …}
2: {StudyInstanceUID: "1.3.6.1.4.1.18047.1.11.10021841473447061672", StudyID: "", SeriesNumber: "3", AcquisitionNumber: "1", InstanceNumber: "49", …}
3: {StudyInstanceUID: "1.2.840.113619.2.55.3.604637917.369.1487635615.91", StudyID: "35112", SeriesNumber: "7", AcquisitionNumber: "1", InstanceNumber: "3", …}
4: {StudyInstanceUID: "1.3.6.1.4.1.18047.1.11.10021841473447061672", StudyID: "", SeriesNumber: "3", AcquisitionNumber: "1", InstanceNumber: "49", …}
5: {StudyInstanceUID: "1.2.840.113619.2.55.3.604637917.369.1487635615.91", StudyID: "35112", SeriesNumber: "7", AcquisitionNumber: "1", InstanceNumber: "5", …}
6: {StudyInstanceUID: "1.2.840.113619.2.55.3.604637917.369.1487635615.91", StudyID: "35112", SeriesNumber: "7", AcquisitionNumber: "1", InstanceNumber: "1", …}
7: {StudyInstanceUID: "1.2.840.113619.2.55.3.604637917.369.1487635615.91", StudyID: "35112", SeriesNumber: "7", AcquisitionNumber: "1", InstanceNumber: "4", …}
8: {StudyInstanceUID: "1.2.840.113619.2.55.3.604637917.369.1487635615.91", StudyID: "35112", SeriesNumber: "7", AcquisitionNumber: "1", InstanceNumber: "4", …}
9: {StudyInstanceUID: "1.3.6.1.4.1.18047.1.11.10021841473447061672", StudyID: "", SeriesNumber: "4", AcquisitionNumber: "1", InstanceNumber: "49", …}
length: 10
__proto__: Array(0)
答案 0 :(得分:2)
这样做,
getDicomList() {
this.service.getDicomList(params)
.subscribe((res) => {
this.dicomLists = res.Body.Data.dicomList;
console.log(this.dicomLists, "shghds")
//let ids = this.dicomLists.map(item => item.CreatedBy);
let filteredData = this.dicomLists.filter(item => this.userId == item.CreatedBy);
})
答案 1 :(得分:2)
您只需要进行少量修改。
getDicomList() {
this.service.getDicomList(params)
.subscribe((res) => {
this.dicomLists = res.Body.Data.dicomList;
let filteredData = this.dicomLists.filter(item => item.CreatedBy === this.userId);
})
答案 2 :(得分:1)
您可以尝试以下代码
let filteredData = this.dicomLists.filter(item => (this.userId == item.CreatedBy));
答案 3 :(得分:0)
您应始终放置空支票
getDicomList() {
this.service.getDicomList(params)
.subscribe((res) => {
this.dicomLists = [];
// Null check else it will throw errors
if(res.body && res.body.Data
&& res.body.Data.dicomList
&& res.body.Data.dicomList.length){
this.dicomLists = res.Body.Data.dicomList;
}
return this.dicomLists.filter(item => this.userId == item.CreatedBy);
})
答案 4 :(得分:0)
this.service.getDicomList(params)
.subscribe((res) => {
this.dicomLists = res.Body.Data.dicomList;
console.log(this.dicomLists, "shghds")
let ids = this.dicomLists.map(item => item.CreatedBy); // the map is used to filter the properties of the object if necessary
let filteredData = this.dicomLists.filter(item => ids.indexOf(item.CreatedBy) === -1); // Filter YES but the criteria in the filter is not good
})
就像那样
this.service.getDicomList(params).subscribe((res) => {
this.dicomLists = res.Body.Data.dicomList;
this.dicomLists.filter(item => item.CreatedBy === this.userId);
})