Bibi's DevLog ๐Ÿค“๐ŸŽ

[์ธํ”„๋Ÿฐ] Javascript์ž…๋ฌธ - ๋ฐฐ์—ด๊ณผ ๋ฌธ์ž์—ด 2 - .concat(), .join(), .split(), .indexOf(), .lastIndexOf(), .slice(), .splice() ๋ณธ๋ฌธ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ/Javascript ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

[์ธํ”„๋Ÿฐ] Javascript์ž…๋ฌธ - ๋ฐฐ์—ด๊ณผ ๋ฌธ์ž์—ด 2 - .concat(), .join(), .split(), .indexOf(), .lastIndexOf(), .slice(), .splice()

๋น„๋น„ bibi 2020. 10. 19. 18:39
* ์ด ๊ธ€์€ ์ธํ”„๋Ÿฐ์—์„œ ์ œ๊ณตํ•˜๋Š” ํ˜ธ๋ˆ…์Šค๋‹˜์˜ ์œ ๋ฃŒ ๊ฐ•์˜ '์‰ฝ๊ณ  ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ฐฐ์›Œ๋ณด๋Š” Javascript ์ž…๋ฌธ - ์ฝ”๋“œ์Šค์ฟผ๋“œ ๋งˆ์Šคํ„ฐ์ฆˆ ์ฝ”์Šค ๋ ˆ๋ฒจ1'๋ฅผ ๋“ฃ๊ณ  ๊ณต๋ถ€ํ•˜๋ฉฐ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๊ฐ•์˜ ๋‚ด์šฉ์— ๋”ํ•ด, ์ œ๊ฐ€ ํ•„๊ธฐํ•˜๊ณ  ๊ตฌ๊ธ€๋งํ•œ ๋‚ด์šฉ์ด ์ •๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ดˆ๋ณด์ธ ์ œ๊ฐ€ ์ดํ•ดํ•œ ๋Œ€๋กœ ์ •๋ฆฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ถ€์ •ํ™•ํ•œ ๋‚ด์šฉ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Œ์„ ๊ฐ์•ˆํ•ด ์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ธํ”„๋Ÿฐ ์ธก ๋‹ต๋ณ€์„ ๋ฐ›์€ ์ ์ด ์žˆ์œผ๋‚˜(https://bibi6666667.tistory.com/37), ์ €์ž‘๊ถŒ์ƒ ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค๋ฉด ๋ณดํ˜ธ ๋ชจ๋“œ(๋น„๊ณต๊ฐœ)๋กœ ์ „ํ™˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๋ฐฐ์—ด๊ณผ ๋ฌธ์ž์—ด์˜ ๋ฉ”์†Œ๋“œ ์‚ดํŽด๋ณด๊ธฐ

๋ณต์Šต

  • Array (๋ฐฐ์—ด, ์–ด๋ ˆ์ด) - ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. []
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ฐฐ์—ด์€ ๊ฐ์ฒด์ด๋ฏ€๋กœ ์†์„ฑ๊ณผ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
  • ๋ฐฐ์—ด๊ณผ ๋ฌธ์ž์—ด์€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  • ์ฐจ์ด์ ) ๋ฐฐ์—ด์€ mutable(๋ณ€ํ•˜๊ธฐ ์‰ฌ์šด), ๋ฌธ์ž์—ด์€ immutable(๋ถˆ๋ณ€์˜) ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์†์„ฑ: length(๋ฐฐ์—ด์˜ ๊ธธ์ด)
  • ๋ฉ”์†Œ๋“œ: push()๋งจ ๋’ค์— ๋„ฃ๊ธฐ, pop()๋งจ ๋’ค์—์„œ ๋นผ๊ธฐ, unshift()๋งจ ์•ž์— ๋„ฃ๊ธฐ, shift()๋งจ ์•ž์—์„œ ๋บด๊ธฐ

 

 

๋ฐฐ์—ด์˜ ๋ฉ”์†Œ๋“œ ๋” ์‚ดํŽด๋ณด๊ธฐ

 

.concat() ์ปจ์บฃ

.concat();
๋ฐฐ์—ด์ด๋ฆ„.concat(ํ•ฉ์น  ๋ฐฐ์—ด ์ด๋ฆ„); 

๋ฐฐ์—ด ํ•ฉ์น˜๊ธฐ. (์ˆซ์ž, ๋ฌธ์ž์—ด๋ผ๋ฆฌ๋„ ๊ฐ€๋Šฅ)
concatenate(์‚ฌ์Šฌ๊ฐ™์ด ์ž‡๋‹ค) ์˜ ์•ฝ์ž์ด๋‹ค.

A.concat(B) ๋ฅผ ํ†ตํ•ด A์™€ B๋ฅผ ์ด์€ ์ƒˆ ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด ์ค€๋‹ค.
์†Œ๊ด„ํ˜ธ ์•ˆ์—๋Š” ์ˆซ์ž/๋ฌธ์ž์—ด/๋ฐฐ์—ด์ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.
(๊ธฐ์กด ๋ฐฐ์—ด์˜ ๋‚ด์šฉ์€ ๋ณ€ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜์— ๋‹ด์•„์„œ ์จ์•ผ ํ•œ๋‹ค)

var a = [1, 2, 3, 4, 5];
a.concat(6); // [1, 2, 3, 4, 5, 6]
a; // [1, 2, 3, 4, 5] ๊ธฐ์กด ๋ฐฐ์—ด์˜ ๋‚ด์šฉ์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ์•„๋‹˜.

var a2 = a.concat(6);
a2; // [1, 2, 3, 4, 5, 6] ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ๋‹ด์•„ ์จ์•ผ ํ•œ๋‹ค.

var a3 = a.concat([6, 7, 8]);
a3; // [1, 2, 3, 4, 5, 6, 7, 8] ๊ด„ํ˜ธ ์•ˆ์— ์ˆซ์ž/๋ฌธ์ž์—ด ๋ฟ ์•„๋‹Œ ๋ฐฐ์—ด๋„ ๋„ฃ์–ด ์ด์–ด๋ถ™์ผ ์ˆ˜ ์žˆ๋‹ค.

var s = "hello";
var s2 = s.concat(" world");
s; // "hello"
s2; // "hello world"

s2 = s + " world"; //์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ์ด๋‹ค. ("๋ฌธ์ž์—ด"์˜ ๊ฒฝ์šฐ์—๋Š” ๋”ํ•˜๊ธฐ๋กœ ์ด์–ด๋ถ™์ธ ๊ฒƒ๊ณผ ๊ฒฐ๊ณผ๊ฐ€ ๊ฐ™๋‹ค.)

 

โ— "์›๋ณธ์„ ๋ฐ”๊พธ์ง€ ์•Š๋Š” ๋ฉ”์†Œ๋“œ"๋“ค์€ ๋ฐฐ์—ด๊ณผ ๋ฌธ์ž์—ด์— ๋ชจ๋‘ ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.
(๋ฌธ์ž์—ด์˜ immutable์†์„ฑ ๋•Œ๋ฌธ)

 


 

.join()

.join();
๋ฐฐ์—ด์ด๋ฆ„.join();

()๊ธฐ์ค€, ๋ฐฐ์—ด์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜.
๋ฐฐ์—ด์˜ ์›์†Œ๋“ค์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ด ์ค€๋‹ค.
๋ฐฐ์—ด์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊ฟ€ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

-์†Œ๊ด„ํ˜ธ ๋‚ด์— ํŒŒ๋ผ๋ฏธํ„ฐ(๋งค๊ฐœ๋ณ€์ˆ˜)๊ฐ€ ์—†์„ ๋•Œ๋Š” ์‰ผํ‘œ(,) ๋ฅผ ๊ตฌ๋ถ„์ž๋กœ ํ•ด ๋ฐฐ์—ด์˜ ํ˜•ํƒœ ๊ทธ๋Œ€๋กœ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“ค์–ด ์ค€๋‹ค.
-์†Œ๊ด„ํ˜ธ ๋‚ด์— ํŒŒ๋ผ๋ฏธํ„ฐ(๋งค๊ฐœ๋ณ€์ˆ˜)๊ฐ€ ์žˆ์„ ๋•Œ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ตฌ๋ถ„์ž๋กœ ํ•ด ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค์–ด ์ค€๋‹ค.

๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํ˜•ํƒœ๋Š” .join(); ๊ณผ .join("");์ด๋‹ค.

///////////ํŒŒ๋ผ๋ฏธํ„ฐ ์—†์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ///////////
var a = [1, 2, 3, 4, 5];
a.join(); // "1, 2, 3, 4, 5" ๋ฐฐ์—ด์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ด ์ค€๋‹ค.
// ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํ˜•ํƒœ(1)
a; // [1, 2, 3, 4, 5] ๊ธฐ์กด ๋ฐฐ์—ด์„ ๋ณ€ํ™”์‹œํ‚ค์ง„ ์•Š๋Š”๋‹ค.

var a3 = a.join();
a3; // "1, 2, 3, 4, 5" ๋ณ€ํ™˜๋œ ๋ฌธ์ž์—ด์€ ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜์— ๋‹ด์•„์„œ ์จ์•ผ ํ•œ๋‹ค.
typeof a3; // "string". "1, 2, 3, 4, 5"๊ฐ€ ํ†ต์งธ๋กœ ๋ฌธ์ž์—ด์ด๋‹ค.

///////////ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ตฌ๋ถ„์ž๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ///////////
a.join(""); // "12345" ๊ตฌ๋ถ„์ž๋กœ ๊ณต๋ฐฑ์„ ์‚ฌ์šฉํ•ด, ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์›์†Œ๊ฐ€ ๋ถ™์–ด์ ธ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜๋œ๋‹ค.
// ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํ˜•ํƒœ(2)

a.join("--"); // "1--2--3--4--5"  --๋ฅผ ๊ตฌ๋ถ„์ž๋กœ ํ•œ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜๋œ๋‹ค.


var s3 = ["h", "e", "l", "l", "o"];
s3.join(""); // "hello"
s3.join("a"); // "haealalao" ์ด๋Ÿฐ ์žฅ๋‚œ๋„ ์น  ์ˆ˜ ์žˆ๋‹ค.

 

 

.split() ์Šคํ”Œ๋ฆฟ

.split()
๋ฌธ์ž์—ด.split();

()๊ธฐ์ค€, ๋ฌธ์ž์—ด์„ ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜.
์†Œ๊ด„ํ˜ธ()๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ๋‚˜๋ˆ„์–ด ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฉ”์†Œ๋“œ.
๋ฌธ์ž์—ด์„ ๋ฐฐ์—ด๋กœ ๋ฐ”๊ฟ€ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

-์†Œ๊ด„ํ˜ธ ๋‚ด์— ํŒŒ๋ผ๋ฏธํ„ฐ(๋งค๊ฐœ๋ณ€์ˆ˜)๊ฐ€ ์—†์„ ๋•Œ๋Š” ๋ฌธ์ž์—ด์„ ํ†ต์งธ๋กœ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ ๋‹ค(๊ธธ์ด1์ธ ๋ฐฐ์—ด).
-์†Œ๊ด„ํ˜ธ ๋‚ด์— ํŒŒ๋ผ๋ฏธํ„ฐ(๋งค๊ฐœ๋ณ€์ˆ˜)๊ฐ€ ์žˆ์„ ๋•Œ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•ด ๋ฐฐ์—ด์˜ ์›์†Œ๋กœ ๋‚˜๋ˆ„์–ด ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

var s = "hello";
s.split(); // ["hello"]
// ํŒŒ๋ผ๋ฏธํ„ฐ ์—†์ด ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๋ฌธ์ž์—ด์„ ํ†ต์งธ๋กœ ๋ฐฐ์—ด์˜ ํ•œ ์›์†Œ๋กœ ๋งŒ๋“ ๋‹ค.

s.split(""); // ["h", "e", "l", "l", "o"]
// ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์žˆ์„ ๋•Œ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์›์†Œ๋กœ ๋‚˜๋ˆ„์–ด์„œ ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

var s4 = s.split("");
s4; // ["h", "e", "l", "l", "o"]
// ์—ญ์‹œ ์›๋ณธ์€ ๋ณ€ํ™”์‹œํ‚ค์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜์— ๋‹ด์•„์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

 

โ— .join()๊ณผ .split(), .join("")๊ณผ .split("")์€ ์„œ๋กœ ๋ฐ˜๋Œ€ ๊ด€๊ณ„๋กœ, ํ•จ๊ป˜ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

var a3 = "hello"
a3.split(); // ["hello"]
a3.split(""); // ["h", "e", "l", "l", "o"]

var s3 = ["h", "e", "l", "l", "o"];
s3.join(); // "h,e,l,l,o"
s3.join("") // "hello"

์ฆ‰ 
.join() <-> .split()
.join("") <-> .split("")
์˜ ๊ด€๊ณ„์— ์žˆ๋‹ค.

 

โ€ป ๋ฌธ์ž์—ด์˜ .split()

๋ฌธ์ž์—ด.split();

๋ฌธ์ž์—ด์„ ์ชผ๊ฐœ์–ด ๋ฌธ์ž ๋ฐฐ์—ด๋กœ ๋งŒ๋“œ๋Š” ๋ฉ”์†Œ๋“œ.
์†Œ๊ด„ํ˜ธ()๋‚ด์˜ ํŒŒ๋ผ๋ฏธํ„ฐ(๋งค๊ฐœ๋ณ€์ˆ˜)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ชผ๊ฐœ ์ค€๋‹ค.
(๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ•œ ์ž๋ฆฌ ๋ฌธ์ž๊ฐ€ ์•„๋‹ˆ์–ด๋„ ๋œ๋‹ค - s6 ์ฐธ๊ณ )

โ— ๋งค๊ฐœ๋ณ€์ˆ˜ (์†Œ๊ด„ํ˜ธ ๋‚ด ๋ฌธ์ž) ๋กœ ์‚ฌ์šฉ๋œ ๋ฌธ์ž๋Š” ๋ฐฐ์—ด๋กœ ์ „ํ™˜๋  ๋•Œ ์‚ฌ๋ผ์ง„๋‹ค!

var s = "hello, world, a-b-c"; 

var s1 = s.split(); // ์•„๋ฌด ๊ฐ’ ์—†์ด ์Šคํ”Œ๋ฆฟ.
s1; // ["hello, world, a-b-c"] 

var s2 = s.split(""); // ๋น„์–ด ์žˆ๋Š” ๋ฌธ์ž = null๋ฌธ์ž๋กœ ์Šคํ”Œ๋ฆฟ.
s2; // ["h", "e", "l", "l", "o", ",", " ", "w", "o", "r", "l", "d", ",", " ", "a", "-", "b", "-", "c"]
// ๊ธ€์ž, ๊ธฐํ˜ธ, ๊ณต๋ฐฑ ๊ฐ๊ฐ ํ•˜๋‚˜ํ•˜๋‚˜๊ฐ€ ๋ฐฐ์—ด์˜ ์›์†Œ๊ฐ€ ๋œ๋‹ค.
s2.length; // 19

var s3 = s.split(","); // ์ฝค๋งˆ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์Šคํ”Œ๋ฆฟ.
s3; // ["hello", " world", " a-b-c"]

var s4 = s.split(" "); // ๊ณต๋ฐฑ๋ฌธ์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์Šคํ”Œ๋ฆฟ.
s4; //  ["hello,", "world,", "a-b-c"]
// ์œ„์™€ ๋‹ฌ๋ฆฌ ๊ณต๋ฐฑ ๊ธฐ์ค€ ์Šคํ”Œ๋ฆฟ์ด๋ฏ€๋กœ, ์ฝค๋งˆ๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ฐฐ์—ด์˜ ์›์†Œ๊ฐ€ ๋œ๋‹ค.

var s5 = s.split("-");
s5; //["hello, world, a", "b", "c"]

var s6 = s.split("ll");
s6; // ["he", "o, world, a-b-c"]

 


 

.indexOf(), .lastIndexOf()

.indexOf()
๋ฐฐ์—ด์ด๋ฆ„.indexOf()
(O๋Š” ๋Œ€๋ฌธ์ž!)

์†Œ๊ด„ํ˜ธ()์•ˆ์— ๋ฐฐ์—ด/๋ฌธ์ž์—ด ์•ˆ์˜ ์›์†Œ๋ฅผ ๋„ฃ์œผ๋ฉด, ๊ทธ ์›์†Œ์˜ ์œ„์น˜ = ์ธ๋ฑ์Šค๋ฅผ ์ฐพ์•„ ์ค€๋‹ค.
(0 = 1๋ฒˆ์งธ. 1 = 2๋ฒˆ์งธ .. ์ปดํ“จํ„ฐ๋Š” ์–ธ์ œ๋‚˜ 0๋ถ€ํ„ฐ ์„ผ๋‹ค)

ํŠนํžˆ .indexOf()๊ฐ€ ๋งŽ์ด ์‚ฌ์šฉ๋จ.

var a = [1, 2, 3, 4, 5];

a.indexOf(3); // 2
// ์„ธ ๋ฒˆ์งธ ์›์†Œ์˜ ์ธ๋ฑ์Šค๋Š” 2.
a[2]; // 3

a.indexOf(1); // 0
// ์ฒซ ๋ฒˆ์งธ ์›์†Œ์˜ ์ธ๋ฑ์Šค๋Š” 0.
a[0]; // 1

///// ??๋ฐฐ์—ด ๋‚ด์— ๊ฐ™์€ ์ด๋ฆ„์˜ ์›์†Œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ์กด์žฌํ•  ๋•Œ๋Š”??
var a2 = [1, 2, 3, 4, 5, 2, 3];
a2.indexOf(2); // 1 
// ๋ฐฐ์—ด์˜ ๋‘ ๋ฒˆ์งธ ์›์†Œ์ธ 2๋งŒ ์ฐพ์•„์ง„๋‹ค.
// ์™œ? .indexOf๋Š” ๋งจ ์•ž์˜ ๊ฒฐ๊ณผ ํ•˜๋‚˜๋งŒ ๋จผ์ € ์•Œ๋ ค์ฃผ๊ธฐ ๋•Œ๋ฌธ.

// ๋ฐ˜๋Œ€๋กœ ๋งจ ๋’ค์˜ ๊ฒฐ๊ณผ ํ•˜๋‚˜๋ฅผ ๋จผ์ € ์•Œ๋ ค์ฃผ๋Š” .lastIndexOf()๋„ ์žˆ๋‹ค.
a2.lastIndexOf(2); // 5
// ๋ฐฐ์—ด์˜ ์—ฌ์„ฏ ๋ฒˆ์งธ ์›์†Œ์ธ 2๋ฅผ ์ฐพ์•„์ค€๋‹ค.
a2.lastIndexOf(3); // 6
// ๋ฐฐ์—ด์˜ ์ผ๊ณฑ ๋ฒˆ์งธ ์›์†Œ์ธ 3์„ ์ฐพ์•„์ค€๋‹ค.

 

โ— ๋งŒ์•ฝ .indexOf๋กœ ๋ฐฐ์—ด ๋‚ด์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์›์†Œ๋ฅผ ์ฐพ์œผ๋ผ๊ณ  ํ•˜๋ฉด? Null? undefined?
๋ฐฐ์—ด ๋‚ด์— ๊ทธ ์›์†Œ๊ฐ€ ์—†๋‹ค๋ฉด -1 ์ด ์ถœ๋ ฅ๋œ๋‹ค. + ํ™œ์šฉ ์ฝ”๋“œ.

var a = [1, 2, 3, 4, 5];
a.indexOf(100); // -1

// ์ด๋Ÿฌํ•œ ๊ฒฐ๊ณผ๊ฐ’์ด ์•„๋ž˜์™€ ๊ฐ™์ด ์‘์šฉ๋œ๋‹ค.
if (a.indexOf(100) === -1) { // ๋ฐฐ์—ด a ๋‚ด์— 100์ด๋ผ๋Š” ์›์†Œ๊ฐ€ ์—†๋‹ค๋ฉด.
	console.log("๋ฐฐ์—ด a ์•ˆ์—๋Š” 100์ด ์—†๋‹ค")
}

 


 

.slice() ์Šฌ๋ผ์ด์Šค

.slice()
๋ฐฐ์—ด์ด๋ฆ„.slice(startIndex, endInedx);

- ๊ธฐ์กด ๋ฐฐ์—ด์„ ์ž˜๋ผ์„œ, ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
- ๊ธฐ์กด ๋ฐฐ์—ด์€ ๋ณ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (๋ฌธ์ž์—ด์—๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•จ)
- startIndex ์œ„์น˜๋ถ€ํ„ฐ endIndex ์ง์ „์˜ ์œ„์น˜๊นŒ์ง€ ์ž๋ฆ…๋‹ˆ๋‹ค. endIndex์˜ ์›์†Œ๋Š” ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

a = [1, 2, 3, 4, 5, 2, 3]; 
a.slice(0, 3); // [1, 2, 3]
// ๋ฐฐ์—ด a์˜ 0๋ฒˆ์งธ๋ถ€ํ„ฐ 3๋ฒˆ์งธ์ง์ „ = 2๋ฒˆ์งธ๊นŒ์ง€ ์ž˜๋ผ๋‚ด์–ด ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๋งŒ๋“ ๋‹ค.

a; // [1, 2, 3, 4, 5, 2, 3];
// .slice() ์—ญ์‹œ ์›๋ณธ์„ ๋ฐ”๊พธ์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค. ๋”ฐ๋ผ์„œ string์—๋„ ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

// 3, 4, 5๋งŒ ์ž˜๋ผ๋‚ด์–ด ์ƒˆ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋ฉด
var a2 = a.slice(2,5);
a2; // [3, 4, 5]
a; // [1, 2, 3, 4, 5, 2, 3];

-๋ฌธ์ž์—ด์— .slice๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ ์ž˜๋ผ๋‚ธ ๋ถ€๋ถ„์„ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“ฆ.
๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ธฐ์กด ๋ฌธ์ž์—ด์€ ๋ณ€ํ•˜์ง€ ์•Š์Œ.

// ๋ฌธ์ž์—ด์— .slice ์‚ฌ์šฉํ•˜๊ธฐ
var s = "hello"
var s2 = s.slice(2, 4);
s2; // "ll"
s; // "hello" 

 

 

 

.splice() ์Šคํ”Œ๋ผ์ด์Šค

.splice()
๋ฐฐ์—ด์ด๋ฆ„.splice(startIndex, numElement);
  • ๋ฐฐ์—ด์„ startIndex๋ถ€ํ„ฐ, numElement ๊ฐœ์ˆ˜๋งŒํผ ์ž˜๋ผ๋ƒ…๋‹ˆ๋‹ค.
  • โ— ๊ธฐ์กด ๋ฐฐ์—ด์„ ๋ณ€ํ™”์‹œํ‚ด. ์ž˜๋ผ๋‚ธ ์›์†Œ๋“ค์€ ์›๋ณธ ๋ฐฐ์—ด์—์„œ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค. (.slice์™€์˜ ์ฐจ์ด์ )
    ๋”ฐ๋ผ์„œ ๋ฐ˜๋“œ์‹œ ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜๋ฅผ ํ™œ์šฉํ•ด ์ž˜๋ผ๋‚ด๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
  • ๊ธฐ์กด ๋ฐฐ์—ด์„ ๋ณ€ํ™”์‹œํ‚ค๋ฏ€๋กœ ๋ฌธ์ž์—ดstring์—๋Š” .splice()๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
  • slice()์™€ splice()๋Š” ๋‘˜ ๋‹ค ์œ ์šฉํ•˜๋ฏ€๋กœ ๊ฐ๊ฐ์˜ ์‚ฌ์šฉ๋ฒ•์„ ์ž˜ ๊ธฐ์–ตํ•ด ๋†“๋Š” ๊ฒŒ ์ข‹์Šต๋‹ˆ๋‹ค.