JS์์ ๋ฆฌ์คํธ๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ ๋งค์ฐ ์ฝ์ต๋๋ค.
์ผ๋ฐ ์ซ์ ์์๋ฅผ ๊ฐ์ง ๋ฆฌ์คํธ์ด๋ , ์บ๋ฆญํฐ๋ฅผ ๊ฐ์ง ๋ฆฌ์คํธ์ด๋ , json ํํ์ ์ค๋ธ์ ํธ๋ฅผ ์์๋ก ๊ฐ์ง ๋ฆฌ์คํธ์ด๋ ๊ฐ์ ์๊ด ์์ด
์ํ๋ ์กฐ๊ฑด์ด ์๋ ์์๋ง ๋ฆฌ์คํธ์์ ๋ฑ ๋ฝ์์ฐ๊ณ ์ถ์ ๋์ ์ฌ์ฉํ๋ ํจ์๊ฐ .find()์ ๋๋ค.
์ค๋์ ์ด find() ํจ์๋ฅผ list์์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ค์ํ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์๋ ค๋๋ฆฌ๋๋ก ํ๊ฒ ์ต๋๋ค.
JS ์๋ฐ์คํฌ๋ฆฝํธ Array List find ๊ฒ์ ํ๋ ๋ฐฉ๋ฒ
- Array ๋ฆฌ์คํธ์ ์์๊ฐ ๋จ์ผ ์์์ผ ๊ฒฝ์ฐ : ์กฐ๊ฑด ๋ฃ๊ธฐ
- 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๊ฐ ์กด์ฌํ๋ ๋ ๋ค ๋์์ผํ ๊ฒ ๊ฐ๊ฒ ์ง๋ง ์๋๋๋ค.
find()ํจ์๋ ์ฐพ์ ๊ฐ์ฅ ์ฒซ๋ฒ์งธ ์์์ ๊ฐ์ ์ฐพ๋ ์๊ฐ ๊ทธ ๊ฐ์ ๋ฐํํ๊ณ ํจ์๊ฐ ์ข ๋ฃ๋์ด๋ฒ๋ฆฝ๋๋ค.
๊ทธ๋์ ๋ ๋ฒ์งธ a๊ฐ ํฌํจ๋ ์์๋ ์ฐพ์ง ์๋ ๊ฒ์ ๋๋ค.
๋ฌด์กฐ๊ฑด ํ๋์ ์์๋ง์ ๋ฐํํ๊ฒ ๋์ด ์์ต๋๋ค.
์ด์ฒ๋ผ JS ์๋ฐ์คํฌ๋ฆฝํธ์์ array ๋ฐ์ดํฐ๋ฅผ ์ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ ์์งํด๋์๊ธฐ ๋ฐ๋๋๋ค.
ํนํ find() ํจ์๋ ์ธ์ ์ด๋์๋ ์์ฃผ ์ฐ์ด๋, ์ฒซ ๋ฒ์งธ ์์์ ๊ฐ ๋ง์ ๋ฐํํ๋ค๋ ํน์ง์ ์ ์์๋์๋ฉด ๋ง์ ๋ฐฉ๋ฒ์ผ๋ก ํ์ฉํ์ค ์ ์์ ๊ฒ์ ๋๋ค.
๋๊ธ