๐Ÿชƒ ๋ฐฐ์—ด์ˆœํ™˜ ํ•จ์ˆ˜

Junyeong parkยท2022๋…„ 12์›” 5์ผ

JavaScript

๋ชฉ๋ก ๋ณด๊ธฐ
2/2
post-thumbnail

for๋ฌธ์— ๋Œ€ํ•ด ์ต์ˆ™ํ•ด์งˆ ๋•Œ์ฏค for๋ฌธ์ด ์ข€ ๋ฒˆ๊ฑฐ๋กญ๊ณ  ๊ท€์ฐฎ๊ฒŒ ๋А๊ปด์กŒ๋‹ค
๋‚˜๋Š” ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ ํ•˜๊ณ  ์‹ถ์€๋ฐ.. ๋˜ .push๋กœ ์จ์„œ ๋„ฃ๊ณ .. ์ธ๋ฑ์Šค ๋ง๊ณ  ๊ฐ’์„ ๊ทธ๋ƒฅ ๋ฐ”๋กœ ๋Œ๋ฆด ์ˆ˜ ์—†๋‚˜ ์ƒ๊ฐํ•˜๊ธฐ๋„ ํ•˜๊ณ  ๊ทธ๋Ÿฌ๋‹ค ๋ฐฐ์—ด์ˆœํ™˜ ํ•จ์ˆ˜๋ฅผ ์ ‘ํ–ˆ๋‹ค ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๊ฐ’์„ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค ์ฝ”๋”ฉ ์ข€๋” ํŽธํ•˜๊ฒŒ ํ•ด๋ณด์ž!

๋ฐฐ์—ด์ˆœํ™˜ ํ•จ์ˆ˜์˜ ์ข…๋ฅ˜

1๏ธโƒฃ Array.forEach(function(๊ฐ’, ์ธ๋ฑ์Šค, ๋ฐฐ์—ด){});

๋ฐฐ์—ด ์š”์†Œ ๋ณ„ ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ๊ฐ๊ฐ์— ์‹คํ–‰?
์–ด๋–ค๋ง์ธ์ง€ ์—ญ์‹œ ์ „ํ˜€ ๊ฐ์ด ์žกํžˆ์ง€ ์•Š์ง€๋งŒ ์˜ˆ์‹œ๋ฅผ ๋ณด๋‹ˆ ์ดํ•ด๊ฐ€ ๋ฌ๋‹ค
์ผ๋ฐ˜์ ์ธ 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์˜ ๊ฒฝ์šฐ ๋ฐฐ์—ด์˜ ๊ฐ’์ด ๋Œ๋ฉด์„œ ๊ฐ’์ด ์ €์žฅ๋œ๋‹ค ๋”ฐ๋ผ์„œ ๊ฐ’์„ ๋ฐ”๋กœ ์จ์•ผํ• ๋•Œ ์ข€๋” ์ฝ”๋“œ๊ฐ€ ์งง์•„์ง€๊ณ  ํšจ๊ณผ์  ์ผ ์ˆ˜ ์žˆ๋‹ค

2๏ธโƒฃ Array.map(function(๊ฐ’, ์ธ๋ฑ์Šค, ๋ฐฐ์—ด){});

.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์€ ๊ฒฐ๊ณผ๊ฐ’์ด ๋ฐ”๋กœ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™”๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐฐ์—ด๋กœ์„œ ๋„์ถœํ•ด์•ผํ• ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

3๏ธโƒฃ Array.find(function(๊ฐ’, ์ธ๋ฑ์Šค, ๋ฐฐ์—ด){});

.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

4๏ธโƒฃ Array.filter(function(๊ฐ’, ์ธ๋ฑ์Šค, ๋ฐฐ์—ด){});

.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 */

5๏ธโƒฃ Array.some(function(๊ฐ’, ์ธ๋ฑ์Šค, ๋ฐฐ์—ด){});

๋ฐฐ์—ด ๋‚ด ๋‹จ ํ•˜๋‚˜๋ผ๋„ ์ฝœ๋ฐฑํ•จ์ˆ˜ ์กฐ๊ฑด๋งŒ์กฑํ•œ๋‹ค๋ฉด 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

6๏ธโƒฃ Array.every(function(๊ฐ’, ์ธ๋ฑ์Šค, ๋ฐฐ์—ด){});

.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
profile
์‹ ์ž… ๊ฐœ๋ฐœ์ž๋ฅผ ๊ฟˆ๊พธ๋Š” ๋ฐ•์ค€์˜์ž…๋‹ˆ๋‹ค๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป

0๊ฐœ์˜ ๋Œ“๊ธ€