Linqu to JavaScript
1. Select
- LINQ:
.Select(x => x * 2)
- JavaScript:
.map(x => x * 2)
2. Where
- LINQ:
.Where(x => x > 10)
- JavaScript:
.filter(x => x > 10)
3. First
- LINQ:
.First()
- JavaScript:
[0]
(for first item) or.find(() => true)
(for first that matches a condition)
4. FirstOrDefault
- LINQ:
.FirstOrDefault()
- JavaScript:
.find(() => true) || defaultValue
5. Last
- LINQ:
.Last()
- JavaScript:
[array.length - 1]
or.slice(-1)[0]
6. LastOrDefault
- LINQ:
.LastOrDefault()
- JavaScript:
.slice(-1)[0] || defaultValue
7. SelectMany
- LINQ:
.SelectMany(x => x.Items)
- JavaScript:
.flatMap(x => x.Items)
8. OrderBy
- LINQ:
.OrderBy(x => x.Prop)
- JavaScript:
.sort((a, b) => a.Prop - b.Prop)
(for ascending order)
9. OrderByDescending
- LINQ:
.OrderByDescending(x => x.Prop)
- JavaScript:
.sort((a, b) => b.Prop - a.Prop)
(for descending order)
10. All
- LINQ:
.All(x => x > 10)
- JavaScript:
.every(x => x > 10)
11. Any
- LINQ:
.Any(x => x > 10)
- JavaScript:
.some(x => x > 10)
12. Count
- LINQ:
.Count(x => x > 10)
- JavaScript:
.filter(x => x > 10).length
13. Sum
- LINQ:
.Sum(x => x.Prop)
- JavaScript:
.reduce((acc, x) => acc + x.Prop, 0)
14. Max
- LINQ:
.Max(x => x.Prop)
- JavaScript:
.reduce((max, x) => x.Prop > max ? x.Prop : max, -Infinity)
15. Min
- LINQ:
.Min(x => x.Prop)
- JavaScript:
.reduce((min, x) => x.Prop < min ? x.Prop : min, Infinity)
16. Distinct
- LINQ:
.Distinct()
- JavaScript:
[...new Set(array)]
17. GroupBy
- LINQ:
.GroupBy(x => x.Prop)
- JavaScript:
array.reduce((grouped, x) => { const key = x.Prop; if (!grouped[key]) grouped[key] = []; grouped[key].push(x); return grouped; }, {});
18. Aggregate
- LINQ:
.Aggregate((acc, x) => acc + x.Prop)
- JavaScript:
.reduce((acc, x) => acc + x.Prop)
19. Take
- LINQ:
.Take(3)
- JavaScript:
.slice(0, 3)
20. Skip
- LINQ:
.Skip(3)
- JavaScript:
.slice(3)