我有一個對象,例如:創建一個從exisiting性能的新陣列
export var PROJECT: any = {
id: "1",
name: "Hunkemoller",
teammembers: [
{
id: 1,
name: "Sarah Johnson",
firstname: "Sarah",
role: "Manager"
},
{
id: 2,
name: "Christian Johnson",
firstname: "Christian",
role: "Employee"
}
等
我在做一個應用程序,我想在裏面添加一個搜索元素,這樣你就可以搜索爲不同的團隊成員。我想從每個團隊成員中初始化所有屬性的'名稱'。這是唯一需要過濾的東西。
我想過的2種方式:
- 創建只有在它的項目的名稱> teammembers 一個新的陣列。
- 只需初始化名稱即可。但是我沒有成功。
你能幫我做出正確的選擇並向我解釋我如何能成功嗎? 我甚至沒有現在如何從現有的陣列中創建一個新的陣列。我在想這樣的事情:
var teamMembers = project.teammembers.name();
但除了那個選項,它會是最好的,如果我可以只使用對象的名稱屬性。
我這個地步(我使用離子2 /角2)
<ion-searchbar (ionInput)="getTeammembers($event)" [(ngModel)]="searchQuery"></ion-searchbar>
<ion-list>
<ion-item *ngFor="let teammember of project.teammembers">
{{ teammember.name }}
</ion-item>
</ion-list>
在我的打字稿文件我有以下幾點:
initializeTeammembers() {
this.project.teammembers;
}
getTeammembers(ev) {
// reset teammembers back to all of the teammembers
this.initializeTeammembers();
// set val to the value of the searcbar
let val = ev.target.value;
// if the value is empty string, don't filter teammembers
if (val && val.trim() != '') {
this.project.teammembers.name = this.project.teammembers.name.filter((teammember) => {
return (teammember.toLowerCase().indexOf(val.toLowerCase()) > -1);
})
}
}
但它不工作。我收到錯誤:無法讀取未定義的屬性「過濾器」。
請問有人可以幫我嗎?提前致謝。
感謝您的快速響應。好現在如何做一個新的陣列:-)我會盡快嘗試,但首先我想嘗試一下,而不是一個新的陣列 –
@ Thalaivar的答案應該可以解決您的問題。您正在過濾錯誤的元素。他正在篩選正確的元素(teammembers)。 –