練習CRUD


CRUDのデータ処理機能create、read、update、deleteの略.
let users = [
  {
    id: 1,
    nickName: "닉1",
    name: "홍길동",
    age: 22,
  },
  {
    id: 2,
    nickName: "닉2",
    name: "아무개",
    age: 45,
  },
];
こうしてユーザーリストがあり、CRUDを1つずつ練習します.
練習1)CREATEユーザを作成して繰り返しチェックする
const isNickNameExist = (newNickName) => {
  const existNickName = users.find((user) => user.nickName === newNickName);
  
  if (existNickName) {
    throw new Error("미이 존재하는 닉네임입니다.");
  }
};
isNickNameExist("nick2");
まず繰り返し検査を行いました.usersでfind反復文ループを使用して新しい変数を生成し、存在する場合はerrorを作成する方法.
const createUser = (nickName, name, age) => {
  id = users.sort((a, b) => b.id - a.id)[0].id + 1;

  const user = {
    id,
    nickName,
    name,
    age,
  };

  users = [...users, user];
  return user;
};

createUser('nick3','멋쟁이',25)

//[{...}, {...}, {...}]
//기존 2개의 users에서 3개로 증가한것을 볼 수 있다.
idは自動的に数字を追加します.これはsortを用いて最後の数字に1を加える方法である.
次にpushではなくspreadオペレータを使用してユーザーを変更します.
練習2)updateプレイヤーの修正
const updateUser = (id, nickName, name, age) => {
  const userList = users.filter((user) => user.id !== id);
  const userToFix = users.find((user) => user.id === id);
  const sameNickName = userToFix.nickName === nickName;

  if (userToFix) {
    if (nickName) {
      if (sameNickName) {
        throw new Error("기존의 닉네임과 같습니다.");
      }
      userToFix.nickName = nickName;
    }
    if (name) {
      userToFix.name = name;
    }
    if (age) {
      userToFix.age = age;
    }
  } else {
    throw new Error("유저의 아이디가 존재하지 않습니다.");
  }

  users = [...userList, userToFix];
  return userToFix;
};

updateUser(1, "nick10", "삽살개", 7);

// {id: 1, nickName: "nick10", name: "삽살개", age: 7}
// 기존 id1이 수정되었다.
ユーザIDがない場合は、Errorを送信するように有/無チェックを行い、ネット名を繰り返すべきではないので、ifゲートを内部に追加して作成します.
練習3)deleteプレイヤーを削除
const deleteUser = (id) => {
  const deletedUserList = users.filter((user) => user.id !== id);
  const userToDelete = users.find((user) => user.id === id);

  if (userToDelete) {
    users = [...deletedUserList];
  } else {
    throw new Error("유저의 아이디가 존재하지 않습니다.");
  }
  return;
};

deleteUser(2);
// id가 2번인 user가 삭제되었다.
削除の方法もif文でidの存在を繰り返しチェックし、filterを使用してidや他のリストの変数をユーザーに再読み込みします.
練習4)readユーザクエリの実行
const getUser = (id) => {
  
  const user = users.find((user) => user.id === id);
  
  if (user) {
    return user;
  } else {
    throw new Error("유저의 아이디가 존재하지 않습니다.");
  }
};

getUser(1)
コードは、どのような機能が加わるにつれて長くなる可能性があります.
もっとチェックが必要な部分があるかもしれないので、もう少し練習してみましょう!