카테고리 없음

5주차 (3)

jaeoun0238 2024. 11. 27. 20:56

function solution(n) {
  let str = n.toString();

  let answer = [];
  for (let i = 0; i < str.length; i++) {
    answer.push(Number(str[i]));
    // console.log(answer);
  }
  answer.sort(function (a, b) {
    return b - a; //오름차순 a - b (양수) 내림차순 b - a(음수)
  });

  const arrToStr = answer.join(''); // 다 연결시키는 녀석..!
  const strToNum = Number(arrToStr);
  return strToNum;
}

const n = solution(6721);
console.log(n);
//const arr = [2, 3, 6, 7];

// a : 왼쪽
// b : 오른쪽
// arr.sort((a, b) => {
//   // a = 1
//   // b = 2
//   // a - b = -1
//   return a - b;
//   if (a < b) return 양수;
//   if (a > b) return 음수;
// });

// a = 2
// b = 3
// // b - a = 3 - 2 = 1
// arr.sort((a, b) => b - a);

// console.log(arr);

sort와 join

 

sort() 메서드는 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환

 

Array 인스턴스의 Join() 메서드는 배열의 모든 요소를 쉼표나 지정된 구분 문자열로 구분하여 연결한 새 문자열을 만들어 반환합니다. 배열에 항목이 하나만 있는 경우, 해당 항목은 구분 기호를 사용하지 않고 반환

 

ItemSimulator과제

import로 

수나 함수, 클래스를 선언할 때 맨 앞에 export를 붙이면 내보내기가 가능

 

account.js 완성!

// /routes/account.js

// 라우터 만들기 account.js를 만들기
// /api/signup api만들기 post로 만들기
// id password로 전달 -> consol.log로 만들어서
// signup에서 유저정보 생성하여 users 배열에 저장.
// 로그인 만들기 (signin) => post
// 회원조회 만들기 (account) => get

import express from 'express';

const router = express.Router();

// '/' => http://localhost:3000/api/signup 으로 요청이 들어오면 함수 실행.
// request : 내가 받은 정보
// response : 내가 보낼 정보
router.post('/signup', (request, response) => {
  const { id, password } = request.body; // { id: 'test', password: 'test' }
  users.push({ id, password });
  console.log(id, password);
  return response.json({ users });
});

// id, pw 받아서
// users 배열에서 id, pw가 일치하는지 확인
// 일치하면 로그인되었습니다. 출력
router.post('/signin', function (request, response) {
  const { id, password } = request.body;

  // 일반 함수를 사용하여 사용자 찾기

  // const login = function (user) {
  //   return user.id == id && user.password === password;
  // };
  const userLogin = users.find(
    (user) => user.id === id && user.password === password,
  );
  // console.log(user);
  if (!userLogin) {
    return response.json('로그인실패');
  }
  return response.json('로그인성공!');
});

// id를 받아서
// users 배열에서 id가 일치하는지 확인
// 일치하면 해당 id의 정보를 출력
router.get('/account', (request, response) => {
  const { id } = request.body; // { id: 'test', password: 'test' }
  const account = function (user) {
    return user.id === id;
  };
  const userAccount = users.find(account);
  // console.log(user);
  if (userAccount) {
    return response.json(`유저 ${id} 입니다`);
  }
  //
  else {
    return response.json('유저를 찾지 못했습니다.');
  }
});

export const users = [];  //users 내보내기
export default router;

users[]를 export 해줌

character.js 추가

//routes/character.js

//id 패스워드 말고 캐릭터로
// create , status , item

import { users } from './account.js';
import express from 'express';

const router = express.Router();

router.post('/create', (request, response) => {
  const { nickname } = request.body;

  // users 에서 id와 password가 일치하는 유저 찾기
  // 찾은 유저 정보안에 charater에 nickname 과 level 1을 넣어 주기
  // 그리고 다른 api 에서 users 로그찍어서 확인해보기

  console.log(users);

  const characterNickname = characters.find((character) => {
    character.nickname === nickname;
  });
  if (!characterNickname) {
    return response.json(`${nickname}님이 로그인 하셨습니다.`);
  }
});

export default router;

//[
//   {
//     id: 'abc',
//     password: '1234',
//     character: { nickname: '마법사', level: 1 }
//   }
//]

// const obj = {};

// console.log(obj.character); // undefined

// obj.character = { nickname: '마법사', level: 1 };

// console.log(obj.character); // { nickname: '마법사', level: 1 }

추가 기능 만드는중..!

캐릭터를 만들어주는게 목표..!