ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๊ตฌํ˜„ ์ƒํ™ฉ

closest(), getAttribute()์„ ์‚ฌ์šฉํ•˜์—ฌ ์˜ํ™” ์นด๋“œ๋ฅผ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น id๋ฅผ ๊ฐ€์ ธ์˜ค๋„๋ก ๊ตฌํ˜„ํ•˜์˜€๋‹ค.

 

๊ทธ๋Ÿผ ์ด์ œ ๊ทธ id๋ฅผ ๊ฐ–๊ณ  ๋ญ˜ ํ•ด์•ผํ•˜๋ƒ!

์•Œ๋งž์€ ๋ฐฉ์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ํ™”๋ฉด์— ๋„์›Œ์•ผ ํ•œ๋‹ค.

 

์ œ๊ณต๋œ ๊ณผ์ œ ๋‚ด์šฉ์— ๋”ฐ๋ฅด๋ฉด

์˜ํ™” ํฌ์Šคํ„ฐ

์˜ํ™” ์ œ๋ชฉ
์˜ํ™” ๋‚ด์šฉ
ํ‰์ 

๋ถ๋งˆํฌ ์ถ”๊ฐ€ ๋ฒ„ํŠผ

์œผ๋กœ ๋ชจ๋‹ฌ์ฐฝ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค.

 

์–ด์ œ ๊ฑท๊ธฐ๋ฐ˜์—์„œ ๋ฐฐ์šด find() ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด์•ผ ํ•จ์„ ํŠœํ„ฐ๋‹˜๊ป˜ ์ „ํ•ด๋“ค์—ˆ๋‹ค๐Ÿ‘‚๐Ÿป

 

 

find() ๋ฉ”์„œ๋“œ๋ž€?

๋ฐฐ์—ด์—์„œ ์กฐ๊ฑด์— ๋งž๋Š” ํ•˜๋‚˜์˜ ๋‚ด์šฉ(์š”์†Œ ํ˜น์€ ๊ฐ์ฒด)๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

๋ฐฐ์—ด ๋‚ด์˜ ์š”์†Œ๊ฐ€ ๋‹จ์ผ ์š”์†Œ๋ผ๋ฉด ์กฐ๊ฑด๊ณผ ๋™์ผํ•œ ์š”์†Œ๊ฐ€ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ์ด ๋˜๊ณ 

๋ฐฐ์—ด ๋‚ด ์š”์†Œ๊ฐ€ ๊ฐ์ฒด๋ผ๋ฉด ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•œ ์š”์†Œ๋ฅผ ๊ฐ–๊ณ ์žˆ๋Š” ๊ฐ์ฒด๊ฐ€ ๊ฐ์ฒด ํ˜•ํƒœ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ๋œ๋‹ค.

 

๐Ÿ“find ์ž‘์„ฑ๋ฒ•

๋ฐฐ์—ด.find((๋ฐฐ์—ด๋‚ด์˜_์š”์†Œ) => {
	return ์กฐ๊ฑด
})

 

๐Ÿ“์˜ˆ์‹œ

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

const ์‚ผ๋ณด๋‹คํฐ์ˆ˜ํ•˜๋‚˜ = numbers.find((number) => {
	return number > 3
});

console.log(์‚ผ๋ณด๋‹คํฐ์ˆ˜ํ•˜๋‚˜); // 4
const products = [
  {
    ๋ธŒ๋žœ๋“œ: "์ˆ˜์•„๋ ˆ",
    ์ƒํ’ˆ๋ช…: "์ผ€์ด๋ธ” ์นด๋ผ ๋ฐ˜ํŒ” ๋‹ˆํŠธ - 6 Color",
    ๊ฐ€๊ฒฉ: 39900,
    ํ‰์ : 5,
    ํ›„๊ธฐ๊ฐœ์ˆ˜: 2997,
    ์ข‹์•„์š”์ˆ˜: 31352,
  },
  {
    ๋ธŒ๋žœ๋“œ: "์ปค๋ฒ„๋‚ซ",
    ์ƒํ’ˆ๋ช…: "์—์„ผ์…œ ์–ด์ฉŒ๊ณ ",
    ๊ฐ€๊ฒฉ: 34300,
    ํ‰์ : 5,
    ํ›„๊ธฐ๊ฐœ์ˆ˜: 45021,
    ์ข‹์•„์š”์ˆ˜: 156057,
  },
];

const ์ƒํ’ˆํ•˜๋‚˜ = products.find((product) => {
  return product.์ข‹์•„์š”์ˆ˜ > 100000;
});
console.log(์ƒํ’ˆํ•˜๋‚˜);

 

 

 

์‹ค์ œ ๊ตฌํ˜„

๊ตฌํ˜„ํ•ด์•ผ ํ•  ๋‚ด์šฉ์„ ๋‹จ๊ณ„๋ณ„๋กœ ์ •๋ฆฌํ•ด๋ณด์ž๋ฉด,

 

๐Ÿ“1. ๋ฉ”์ธ ํ™”๋ฉด์— ์žˆ๋Š” ์˜ํ™”๋“ค์˜ API๋ฅผ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๊ฐ€์ ธ์˜จ๋‹ค.

๐Ÿ“Œ fetch ํ•จ์ˆ˜๋กœ ๊ฐ€์ ธ์˜จ ๊ฒฐ๊ณผ๋ฅผ ํ•จ์ˆ˜ ๋ฐ–์—์„œ ์ „์—ญ ๋ณ€์ˆ˜๋กœ ์„ ์–ธํ•˜๊ธฐ

 

 

๐Ÿ“2. ํด๋ฆญํ•œ ์นด๋“œ์˜ ์˜ํ™” id์™€ ๋ฉ”์ธ API์˜ ์˜ํ™” id๋ฅผ ๋น„๊ตํ•œ๋‹ค.

      2-1. find ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ id๊ฐ€ ๊ฐ™์€ ์˜ํ™” ๋‚ด์šฉ์˜ ๊ฐ์ฒด๋ฅผ ์ฝ˜์†”์ฐฝ์— ์ถœ๋ ฅํ•ด๋ณธ๋‹ค.

๐Ÿ“Œ find ๋ฉ”์„œ๋“œ๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ

const clickModal = postArray.find(function (postArray) {
    return Number(postArray.id) === Number(cardID);
});

 

 

๐Ÿ“3. ์ถœ๋ ฅ๋œ ๊ฐ์ฒด์—์„œ ํ•„์š”ํ•œ ๋‚ด์šฉ๋งŒ ์™์™ ๊ณจ๋ผ ๋ชจ๋‹ฌ์ฐฝ์— ๋‚˜ํƒ€๋‚ธ๋‹ค.

๐Ÿ“Œ 1์—์„œ ๊ฐ€์ ธ์˜จ API๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ temp ๋‚ด์šฉ ๊ตฌ์„ฑํ•˜๊ธฐ

function displayModal(info) {
  temp_modal = `<div data-id="${info.id}" class="modalCard">
         <img id="poster" src="${
           baseImgUrl + info.poster_path
         } class="card-img-top alt="poster">
         <h1>${info.title}</h1>
         <p>${info.overview}</p>
         <h3>ํ‰์ : ${info.vote_average}<span id="mvaver"></span></h3>
         <span class="close">&times;</span>
         <button class="book">๋ถ๋งˆํฌ ์ถ”๊ฐ€</button>
    </div>`;
    modalSection.innerHTML = temp_modal;
 };

 

 

๐Ÿ“4. find ๋ฉ”์„œ๋“œ์™€ ๋ชจ๋‹ฌ์ฐฝ์— ๋‚˜ํƒ€๋‚ด๋Š” ํ•จ์ˆ˜ ์—ฐ๊ฒฐํ•œ๋‹ค.

๐Ÿ“Œ ๋ชจ๋‹ฌ์ฐฝ ํด๋ฆญ ์ด๋ฒคํŠธ๋ฆฌ์Šค๋„ˆ์— 2์˜ find ๋ฉ”์„œ๋“œ์™€ 3์˜ displayModal ํ•จ์ˆ˜๋ฅผ ๋„ฃ์–ด์ฃผ๊ธฐ

cardSection.addEventListener("click", function (e) {
  const mvCard = e.target.closest(".mvCard");
  // console.log(mvCard);
  const cardID = mvCard.getAttribute("data-id");
  console.log(cardID);

  const clickModal = postArray.find(function (postArray) {
    return Number(postArray.id) === Number(cardID);
  });
  console.log(clickModal);
  displayModal(clickModal);
});

 

 

 

 

 

 

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2026/03   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ