首頁 C-Sharp and JavaScript Linq 對照表
文章
Cancel

C-Sharp and JavaScript Linq 對照表

C# LINQ vs JavaScript Array Methods

以下是 C# LINQ 方法與 JavaScript(JS)對應的方法對照表:

C# LINQ 方法JavaScript 方法說明
Wherefilter篩選符合條件的元素
Selectmap轉換每個元素
Firstfind取得第一個符合條件的元素
FirstOrDefaultfind() || null取得第一個符合條件的元素,找不到則回傳 null
Singlefilter().at(0)find()取得唯一符合條件的元素,否則拋出錯誤
SingleOrDefaultfilter()[0] || null取得唯一符合條件的元素,若無則回傳 null
Anysome是否有符合條件的元素
Allevery是否所有元素都符合條件
Countfilter().length計算符合條件的元素數量
OrderBysort依指定條件排序(遞增)
OrderByDescendingsort((a, b) => b - a)依指定條件排序(遞減)
GroupByreduce將元素依指定條件分組
Distinctnew Set([...arr])filter((v, i, a) => a.indexOf(v) === i)去除重複值
Aggregatereduce累積計算(如求和、乘積)
Takeslice(0, n)取得前 n 個元素
Skipslice(n)略過前 n 個元素
Concatconcat串接兩個集合
Containsincludes是否包含特定元素
ToList[...arr]Array.from(arr)轉換為陣列

範例對照:

C# LINQ

```csharp var numbers = new List { 1, 2, 3, 4, 5 };

// Where var evenNumbers = numbers.Where(n => n % 2 == 0).ToList();

// Select var squaredNumbers = numbers.Select(n => n * n).ToList();

// Distinct var uniqueNumbers = numbers.Distinct().ToList();

JavaScript LINQ

```csharp const numbers = [1, 2, 3, 4, 5];

// filter const evenNumbers = numbers.filter(n => n % 2 === 0);

// map const squaredNumbers = numbers.map(n => n * n);

// Distinct (去重) const uniqueNumbers = […new Set(numbers)];

const set = new Set([1, 2, 3, 3, 4, 5]);

// 轉換 Set 為陣列 const arrayFromSet = […set];

console.log(arrayFromSet); // [1, 2, 3, 4, 5]

本文由作者按照 CC BY 4.0 進行授權