CategoryIdを持つCategoryApiオブジェクトを見つけて割り当てる
export class CategoryApi {
categoryId: number;
name: string;
}
categories: CategoryApi[];
selectedCategory: CategoryApi;
selectedCategory = categories.findByIndex(2); //looking for categoryApi by categoryId = 2
私はこのjavascriptオプションを見つけましたが、TypeScriptは機能について不平を言っています
var inventory = [
{name: 'apples', quantity: 2},
{name: 'bananas', quantity: 0},
{name: 'cherries', quantity: 5}
];
function findCherries(fruit) {
return fruit.name === 'cherries';
}
console.log(inventory.find(findCherries)); // { name: 'cherries', quantity: 5 }
そのようなメソッドはありませんfindByIndex JSでは、唯一のメソッドはfindIndexです。
filterまたはfindメソッドを使用して、インデックスでアイテムを取得できます。
// ES2015
selectedCategory = categories.find(item => item.categoryId === 1);
// ES5
selectedCategory = categories.filter(item => item.categoryId === 1)[0];
Findメソッドを使用できます:
selectedCategory = categories.find(c => c.categoryApi == 2);
問題は、find
関数がtypings-fileにリストされていないことです。
まず、エラーメッセージを無視して試してください!
次に、タイピングファイルを編集できます。
find
でfilter
を変更し、F12を押します(宣言に移動)find
に変更し、戻り値を配列ではなく単一オブジェクトに変更してください!filter
をfind
に変更します。特定のパラメーター値を取得します。このコードを使用
this.categories.find(item => item.categoryId === 1).categoryId
Where categoryIdには任意のフィールドを指定できます