deno.com

使用 Deno Collections 處理使用者資料

在 Github 上編輯

示範如何使用 Deno 的 @std/collections 函式庫來處理使用者資料。此範例使用 pick、omit 和 partition 來操作資料結構。

import { omit, partition, pick } from "jsr:@std/collections";
定義 User 型別,包含 id、name、role、age 和 country 欄位
type User = {
  id: number;
  name: string;
  role: string;
  age: number;
  country: string;
};
用於示範目的的使用者資料範例陣列
const users: User[] = [
  { id: 1, name: "Alice", role: "admin", age: 30, country: "USA" },
  { id: 2, name: "Bob", role: "user", age: 25, country: "Canada" },
  { id: 3, name: "Charlie", role: "user", age: 28, country: "USA" },
  { id: 4, name: "Dave", role: "admin", age: 35, country: "Canada" },
  { id: 5, name: "Eve", role: "user", age: 22, country: "UK" },
];
1. 從每個使用者中挑選特定欄位以進行選擇性資料擷取 使用 pick 在新陣列中僅包含每個使用者的 id、name 和 country
const pickedUsers = users.map((user) => pick(user, ["id", "name", "country"]));
console.log("Picked user data:", pickedUsers);
2. 從每個使用者中省略特定欄位以移除敏感資料 使用 omit 在新陣列中排除每個使用者物件的 "id" 欄位
const omitUsers = users.map((user) => omit(user, ["id"]));
console.log("Omitted user data:", omitUsers);
3. 根據角色劃分使用者,將其分類為管理員和一般使用者 使用 partition 將使用者陣列分割成兩組:管理員和一般使用者
const [admins, regularUsers] = partition(
  users,
  (user) => user.role === "admin", // Condition to check if user role is admin
);
console.log("Admins:", admins);
console.log("Regular Users:", regularUsers);

使用 Deno CLI 在本地執行此範例

deno run --allow-read data-processing.ts

您找到需要的資訊了嗎?

隱私權政策