๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Basics/Develop

JSโ–ถarray list find() ํ•จ์ˆ˜ : JSON Object find() ์‚ฌ์šฉ๋ฒ•, ๋ฐฐ์—ด์—์„œ key id๋กœ ์š”์†Œ ์ฐพ๋Š” ๋ฐฉ๋ฒ•, ์˜ˆ์ œ!

by IworldT 2022. 8. 19.
๋ฐ˜์‘ํ˜•

JS์—์„œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์€ ๋งค์šฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜ ์ˆซ์ž ์š”์†Œ๋ฅผ ๊ฐ€์ง„ ๋ฆฌ์ŠคํŠธ์ด๋“ , ์บ๋ฆญํ„ฐ๋ฅผ ๊ฐ€์ง„ ๋ฆฌ์ŠคํŠธ์ด๋“ , json ํ˜•ํƒœ์˜ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์š”์†Œ๋กœ ๊ฐ€์ง„ ๋ฆฌ์ŠคํŠธ์ด๋“  ๊ฐ„์— ์ƒ๊ด€ ์—†์ด

์›ํ•˜๋Š” ์กฐ๊ฑด์ด ์žˆ๋Š” ์š”์†Œ๋งŒ ๋ฆฌ์ŠคํŠธ์—์„œ ๋”ฑ ๋ฝ‘์•„์“ฐ๊ณ  ์‹ถ์„ ๋•Œ์— ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ .find()์ž…๋‹ˆ๋‹ค.

 

์˜ค๋Š˜์€ ์ด find() ํ•จ์ˆ˜๋ฅผ list์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค์–‘ํ•œ ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ์•Œ๋ ค๋“œ๋ฆฌ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

js array list find() ํ•จ์ˆ˜, JSON Object list find() ํ•จ์ˆ˜ ์‚ฌ์šฉ๋ฒ•, ์˜ˆ์ œ!

 

JS ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Array List find ๊ฒ€์ƒ‰ ํ•˜๋Š” ๋ฐฉ๋ฒ•

  1. Array ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ๊ฐ€ ๋‹จ์ผ ์š”์†Œ์ผ ๊ฒฝ์šฐ : ์กฐ๊ฑด ๋„ฃ๊ธฐ
  2. Array ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ๊ฐ€ Json ํ˜•ํƒœ์ผ ๊ฒฝ์šฐ : key id๊ฐ’ ๊ฒ€์ƒ‰ํ•˜๊ธฐ

 

์œ„ ๋‘ ๊ฐ€์ง€ ์ฃผ์ œ๋กœ ๋‚˜๋ˆ„์–ด ์„ค๋ช…๋“œ๋ฆฌ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

Array ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ๊ฐ€ ๋‹จ์ผ ์š”์†Œ์ผ ๊ฒฝ์šฐ

array์˜ ์š”์†Œ๊ฐ€ ๋‹จ์ˆœํžˆ ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๊ฒฝ์šฐ๋ฅผ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

var array = [1, 0, -1]

var found = array.find(e => e<0);

// ์˜ˆ์ƒ ๊ฒฐ๊ณผ
// -1

element์— ํ•ด๋‹นํ•˜๋Š” e๊ฐ€ ๋‹จ์ˆœ ์š”์†Œ์ด๋‹ˆ, e์— ์กฐ๊ฑด์„ ๋„ฃ์–ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

var array = ["๊ฐ€", "๋‚˜", "๋‹ค"]

var found = array.find(e => e=="๋‚˜");

// ์˜ˆ์ƒ ๊ฒฐ๊ณผ
// "๋‚˜"

์บ๋ฆญํ„ฐ, ๋ฌธ์ž์—ด์ด๋‚˜ ๋ฌธ์žํ˜•์ด์–ด๋„ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

์กฐ๊ฑด์„ ํŽธํ•˜๊ฒŒ ๋„ฃ์–ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

Array ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ๊ฐ€ Json ํ˜•ํƒœ์ผ ๊ฒฝ์šฐ

var array = [{a:1}, {b:10}, {c:100}];

var found = array.find(e => e.a);

// ์˜ˆ์ƒ ์‹คํ–‰ ๊ฒฐ๊ณผ
// {a:1}

์œ„๋Š” ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ ์˜ค๋ธŒ์ ํŠธ์—์„œ a๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด ๊ทธ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ผ๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

ํ•˜๋‚˜์˜ ์š”์†Œ {  }๊ฐ€ element, ์ฆ‰ e์ด๋‹ˆ, e์˜ค๋ธŒ์ ํŠธ์— a๊ฐ€ ํฌํ•จ๋œ ์š”์†Œ๋ฅผ ์ฐพ์œผ๋ผ๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

๋ณด์‹œ๋‹ค์‹œํ”ผ, a์˜ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์ž˜ ํฌํ•จ๋˜์–ด ์ถœ๋ ฅ๋˜์—ˆ์ฃ .

 

์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฒƒ์ด ํ•˜๋‚˜ ์žˆ์Šต๋‹ˆ๋‹ค.

find() ํ•จ์ˆ˜๋Š” ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋งŒ ์ฐพ์Šต๋‹ˆ๋‹ค.

* ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์ด ์—ฌ๋Ÿฌ๊ฐœ๋”๋ผ๋„ ํ•˜๋‚˜๋งŒ ์ฐพ์•„์ค๋‹ˆ๋‹ค.

var array = [{a:1}, {a:2, b:10}, {c:100}]

var found = array.find(e => e.a);

// ์˜ˆ์ƒ ๊ฒฐ๊ณผ
// [{a:1}, {a:2, b:10}]

// ์‹ค์ œ ๊ฒฐ๊ณผ!!
// {a:1}

์ฒซ๋ฒˆ์งธ ์˜ค๋ธŒ์ ํŠธ์ธ {a:1}์—๋„ a key๊ฐ€ ์กด์žฌํ•˜๊ณ , ๋‘๋ฒˆ์งธ ์˜ค๋ธŒ์ ํŠธ์ธ {a:2, b:10}์˜ค๋ธŒ์ ํŠธ์—๋„ a๊ฐ€ ์กด์žฌํ•˜๋‹ˆ ๋‘˜ ๋‹ค ๋‚˜์™€์•ผํ•  ๊ฒƒ ๊ฐ™๊ฒ ์ง€๋งŒ ์•„๋‹™๋‹ˆ๋‹ค.

MDN Array.prototype.find() ํ•จ์ˆ˜ ์„ค๋ช…

find()ํ•จ์ˆ˜๋Š” ์ฐพ์€ ๊ฐ€์žฅ ์ฒซ๋ฒˆ์งธ ์š”์†Œ์˜ ๊ฐ’์„ ์ฐพ๋Š” ์ˆœ๊ฐ„ ๊ทธ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๋˜์–ด๋ฒ„๋ฆฝ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋‘ ๋ฒˆ์งธ a๊ฐ€ ํฌํ•จ๋œ ์š”์†Œ๋Š” ์ฐพ์ง€ ์•Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฌด์กฐ๊ฑด ํ•˜๋‚˜์˜ ์š”์†Œ๋งŒ์„ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ด์ฒ˜๋Ÿผ JS ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ array ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์„ ์ˆ™์ง€ํ•ด๋‘์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

ํŠนํžˆ find() ํ•จ์ˆ˜๋Š” ์–ธ์ œ ์–ด๋””์„œ๋‚˜ ์ž์ฃผ ์“ฐ์ด๋‹ˆ, ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์˜ ๊ฐ’ ๋งŒ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค๋Š” ํŠน์ง•์„ ์ž˜ ์•Œ์•„๋‘์‹œ๋ฉด ๋งŽ์€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ™œ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€