In Typescript我經常使用這種模式。LINQ SingleOrDefault in Typescript
class Vegetable {
constructor(public id: number, public name: string) {
}
}
var vegetable_array = new Array<Vegetable>();
vegetable_array.push(new Vegetable(1, "Carrot"));
vegetable_array.push(new Vegetable(2, "Bean"));
vegetable_array.push(new Vegetable(3, "Peas"));
var id = 1;
var collection = vegetable_array.filter(xvegetable => {
return xvegetable.id == id;
});
var item = collection.length < 1 ? null : collection[0];
console.info(item.name);
我正在考慮建立類似LINQ的SingleOrDefault方法,其中,如果它不是數組中返回null一個JavaScript擴展。
var item = vegetable.singleOrDefault(xvegetable => {
return xvegetable.id == id});
我的問題是是否有另一種方式來實現這一點,而無需創建自定義界面。 TIA。
這方面有一些動力。請參閱https://linqjs.codeplex.com/和http://lord-saumagen.github.io/TS – hlo