C#
俺が TypeScript に出会った朝 — LINQ が見当たらない焦り
出典: C# LINQ → TypeScript Array methods 翻訳早見表 — Where/Select/GroupBy が filter/map/reduce にどう写るか — 俺が TypeScript に出会った朝 — LINQ が見当たらない焦り
var names = products
.Where(p => p.Price >= 1000)
.Select(p => p.Name)
.ToList();
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
Source収録記事
この snippet は記事の「俺が TypeScript に出会った朝 — LINQ が見当たらない焦り」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。
同じ記事から
8 件const names = products .filter(p => p.price >= 1000) .map(p => p.name);未収録
俺が TypeScript に出会った朝 — LINQ が見当たらない焦り
#606a4b394059
// TypeScript: GroupBy 相当を reduce で自前実装 type Product = { category: string; name: string; price: number }; const grouped = products.reduce<Record<string, Product[]>>((acc, p) => { (acc[p.category] ??= []).push(p);未収録
対応 4: GroupBy ↔ reduce or Object.groupBy (★最大の罠)
#ec875f568913
// TypeScript: sort は破壊的・元の products も並び変わる products.sort((a, b) => a.price - b.price); // 元配列を変えたくない場合は spread で新配列を作る const sorted = [...products].sort((a, b) => a.price - b.price);未収録
対応 5: OrderBy ↔ sort (★破壊性の罠)
#d08cd6f4bc39
// TypeScript: reduce は seed なしだと累積型推論で詰まる const total = products.reduce((acc, p) => acc + p.price, 0); // 累積が配列やオブジェクトの場合は明示型が必要 const grouped = products.reduce<Record<string, number>>((acc, p) => {未収録
対応 6: Aggregate ↔ reduce (型推論の罠)
#33e1420c284a
// C# bool hasExpensive = products.Any(p => p.Price >= 10000); bool allInStock = products.All(p => p.Stock > 0);未収録
対応 7: Any / All ↔ some / every
#b3a1ea8fb054
// TypeScript const hasExpensive = products.some(p => p.price >= 10000); const allInStock = products.every(p => p.stock > 0);未収録
対応 7: Any / All ↔ some / every
#cd23c548df50
