
for๋ฌธ์ ๋ํด ์ต์ํด์ง ๋์ฏค for๋ฌธ์ด ์ข ๋ฒ๊ฑฐ๋กญ๊ณ ๊ท์ฐฎ๊ฒ ๋๊ปด์ก๋ค
๋๋ ๋ฐฐ์ด๋ก ๋ฐํ ํ๊ณ ์ถ์๋ฐ.. ๋ .push๋ก ์จ์ ๋ฃ๊ณ .. ์ธ๋ฑ์ค ๋ง๊ณ ๊ฐ์ ๊ทธ๋ฅ ๋ฐ๋ก ๋๋ฆด ์ ์๋ ์๊ฐํ๊ธฐ๋ ํ๊ณ ๊ทธ๋ฌ๋ค ๋ฐฐ์ด์ํ ํจ์๋ฅผ ์ ํ๋ค ๋ด๊ฐ ์ํ๋ ๊ฒฐ๊ณผ๊ฐ์ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์ป์ ์ ์์๋ค ์ฝ๋ฉ ์ข๋ ํธํ๊ฒ ํด๋ณด์!
๋ฐฐ์ด ์์ ๋ณ ์ฝ๋ฐฑ ํจ์ ๊ฐ๊ฐ์ ์คํ?
์ด๋ค๋ง์ธ์ง ์ญ์ ์ ํ ๊ฐ์ด ์กํ์ง ์์ง๋ง ์์๋ฅผ ๋ณด๋ ์ดํด๊ฐ ๋ฌ๋ค
์ผ๋ฐ์ ์ธ for๋ฌธ๊ณผ ๋น๊ตํด๋ณด์!
//for๋ฌธ
let A = [1, 2, 3];
let B = [];
for (let i = 0; i < A.length; i++) {
B.push(A[i]);
}
//forEach ํ์ฉ
let A = [1, 2, 3];
let B = [];
A.forEach((i) => B.push(i));
//output = [1, 2, 3]
๊ฒฐ๋ก ์ ์ผ๋ก, ๋๊ฐ์ ๋ต์ ๊ฐ๊ฒ ๋์จ๋ค.
for๋ฌธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ฅผ ํตํด ๋ฐฐ์ด์ ์ ๊ทผํ๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด์ .pushํ๊ธฐ ์ํด์๋ Araay[i] ํํ๋ก ์ ๊ทผ ํด์ผํ์ง๋ง .forEach์ ๊ฒฝ์ฐ ๋ฐฐ์ด์ ๊ฐ์ด ๋๋ฉด์ ๊ฐ์ด ์ ์ฅ๋๋ค ๋ฐ๋ผ์ ๊ฐ์ ๋ฐ๋ก ์จ์ผํ ๋ ์ข๋ ์ฝ๋๊ฐ ์งง์์ง๊ณ ํจ๊ณผ์ ์ผ ์ ์๋ค
.map๊ณผ .forEach๋ ๋น์ทํด๋ณด์ด์ง๋ง .map์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐฐ์ด๋ก ๋ฐํํ๋ค๋ ํฐ ํน์ง์ด ์๋ค ์๋ ์์๋ฅผ ์ดํด๋ณด์
//for๋ฌธ
let A = [1, 2, 3, 4, 5];
let B = [];
for (let i = 0; i < A.length; i++) {
B.push(A[i] * 2);
}
console.log(B);
//forEach ํ์ฉ
let A = [1, 2, 3, 4, 5];
let B = A.map((item) => item * 2);
console.log(B);
//output = [ 2, 4, 6, 8, 10 ]
์ด์ฒ๋ผ .map์ ๊ฒฐ๊ณผ๊ฐ์ด ๋ฐ๋ก ๋ฐฐ์ด๋ก ๋ฐํ๋๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐฐ์ด๋ก์ ๋์ถํด์ผํ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์๋ค
.find๋ ์ฝ๋ฐฑ ํจ์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋จ ํ๋์ ๊ฐ(์ฒซ ๋ฒ์งธ ๋ฑ์ฅ ๊ฐ)๋ง์ ๋ฐํํ๋ ํจ์์ด๋ค ์ฆ ์ด๋ค ํ๋์ ํน์ ๊ฐ๋ง ๋ฐ๊พธ๋ ค๊ณ ํ๋๋ฐ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ธ ํ๋ ๋ค๋ฅธ ํจ์์ ๋นํจ์จ์ฑ์ ๊ฐ์ ํ๊ณ ์ ๋ฑ์ฅํ ํจ์์ธ ๊ฒ ๊ฐ๋ค
.find()์ ์ฅ์ ์ ํฐ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ๋ ๊ฒ์ ์๋๊ฐ ๋น ๋ฅด๋ค๋ ๊ฒ์ด๊ณ ,
๋จ์ ์ ์ฌ๋ฌ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ๋๋ ํ์ฉํ๊ธฐ๊ฐ ๊น๋ค๋กญ๋จ ๊ฒ์ด๋ค.
let users = [
{ name: "bob", age: 17, job: false },
{ name: "alice", age: 20, job: false },
{ name: "john", age: 27, job: true },
];
let find_job = users.find(function (user) {
return user. job == false;
});
console. log(find job);
// output: { name: 'bob', age: 17, job: false }
//name: "alice"๋ job๊ฐ์ด false ์ด์ง๋ง .find๋ ํด๋นํ๋ ํ๋์ ๊ฐ, ์ฒซ๋ฒ์งธ ๋ฑ์ฅ๊ฐ๋ง์ ๋ฐํํ๋ค
let find age = users. find(function (user) {
return user.age > 19;
});
console. log(find_age);
// ouptut: { name: 'alice', age: 20, job: false
.filter๋ก .find์ ๋จ์ ์ ๋ณด์ํ ์ ์๋ค. .filter๋ ์ฝ๋ฐฑํจ์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ชจ๋ ๊ฐ์ ๋ฐฐ์ด๋ก ๋ฐํํ๋ค
let users = [
{ name: "bob", age: 17, job: false },
{ name:"alice", age: 20, job: false },
{ name: "john", age: 27, job: true },
];
let filter_job = users. filter(function (user)
return user.job == false;
});
console.log (filter_job);
/* [ { name: 'bob', age: 17, job: false }, { name: 'alice', age: 20, job: false } ] */
let filter_age = users. filter (function (user) {
return user.age > 19;
});
console.log(filter_age);
/* [ { name:
[ { name: 'alice, age: 20, job: false }, { name: 'john', age: 27, job: true } 1 */
๋ฐฐ์ด ๋ด ๋จ ํ๋๋ผ๋ ์ฝ๋ฐฑํจ์ ์กฐ๊ฑด๋ง์กฑํ๋ค๋ฉด true, ์๋๋ฉด false๋ฐํํ๋ค
let users = [
{ name: "bob", age: 17, job: false ),
{ name: "alice", , age: 20, job: false },
{ name: "john", age: 27, job: true },
];
let some_job = users.some(function (user) {
return user.job == false;
});
console.log (some_job); // output: true
let some_age = users.some(function (user) {
return user.age < 16;
});
console. log (some age); // output: false
let empty = [].some((item) =โบ item > 16); console. log(empty); // output: false
.some๊ณผ ์ ์ฌํ์ง๋ง .every๋ ๋ชจ๋ ์์๊ฐ ์ฝ๋ฐฑ ํจ์์ ์กฐ๊ฑด์ ๋ง์กฑํ์๋ true ์๋๋ฉด false๋ฅผ ๋ฐํ ํ๋ค
let users = [
{name:"bob", age: 17, job: false },
{name:"alice", age: 20, job: false },
{name:"john", age: 27, job: true },
];
let every_job = users.every(function(user) {
return user. job == false;
});
console.log(every_job); // output: false
let every_age = users.every(function(user) {
return user.age > 16;
});
console.log(every_age); // output: true
let empty = [].every((item) =โบ item > 16) ;
console.log (empty); // output: false