πŸ›  develop/CodingTest

[JS 100제] 문제 2 - λ°°μ—΄μ˜ λ‚΄μž₯ν•¨μˆ˜

m-ur-phy 2022. 7. 19. 22:34

 

문제

<pass>뢀뢄에 λ°°μ—΄ λ‚΄μž₯ν•¨μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ μ½”λ“œλ₯Ό μž…λ ₯ν•˜κ³  λ‹€μŒκ³Ό 같이 좜λ ₯되게 ν•˜μ„Έμš”.

데이터
var arr = [200, 100, 300];
//pass
console.log(arr);

좜λ ₯
[200, 100, 10000, 300]

 

λ‚˜μ˜ 풀이

var arr = [200, 100, 300];

arr.splice(2, 0, 1000); // 3번째 자리 즉 2μžλ¦¬μ—, 아무것도 μ‚­μ œν•˜μ§€ μ•Šκ³ , 1000을 λ„£λŠ”λ‹€

console.log(arr); // [200, 100, 10000, 300]
  1. λ°°μ—΄μ˜ λ‚΄μž₯ ν•¨μˆ˜? λ©”μ„œλ“œλ₯Ό μ΄μš©ν•΄μ„œ ν’€μž
  2. splice(n, m, x) μ—μ„œ m μžλ¦¬μ— 0을 λ„£κ²Œ 되면 아무것도 μ‚­μ œν•˜μ§€ μ•Šκ³  μΆ”κ°€ν•  수 μžˆλ‹€λŠ” 것을 λ°°μ› λ‹€.
  3. μœ„μ™€ 같이 μž‘μ„±ν•΄ μ£Όμ—ˆλ‹€.

 

μ •λ‹΅

var arr = [200, 100, 300];
arr.splice(2, 0, 10000); 
// splice() λ©”μ„œλ“œλŠ” λ°°μ—΄μ˜ μš”μ†Œλ₯Ό μ‚­μ œ λ˜λŠ” κ΅μ²΄ν•˜κ±°λ‚˜ μƒˆ μš”μ†Œλ₯Ό μΆ”κ°€ν•˜μ—¬ λ°°μ—΄μ˜ λ‚΄μš©μ„ λ³€κ²½ν•©λ‹ˆλ‹€.
console.log(arr);

λ§žμ•˜λ‹€!

 

JS 간단 볡슡

λ°°μ—΄ λ©”μ„œλ“œ - splice

 

splice(n, m)

λ°°μ—΄μ˜ νŠΉμ • μš”μ†Œ 지움 (n : μ‹œμž‘ / m : 개수)

var arr = [100, 200, 300, 400, 500];

arr.splice(1, 2); // 1자리(2번째)λΆ€ν„° 2개 μ§€μ›ŒλΌ

console.log(arr); // [100, 400, 500]

 

splice(n, m, x)

νŠΉμ • μš”μ†Œ μ§€μš°κ³  μΆ”κ°€

var arr = [100, 200, 300, 400, 500];

arr.splice(1, 3, 20, 30); // 1자리(2번째)λΆ€ν„° 3개λ₯Ό μ§€μš°κ³  κ·Έ μžλ¦¬μ— 100κ³Ό 200을 μ°¨λ‘€λ‘œ 넣어라

console.log(arr); // [100, 20, 30, 500]

m μžλ¦¬μ— 0을 λ„£κ²Œ 되면 아무것도 μ§€μš°μ§€ μ•Šκ³  μƒˆλ‘œμš΄ μš”μ†Œλ₯Ό μΆ”κ°€ν•  수 μžˆλ‹€.

let arr = ["λ‚˜λŠ”", "손ν₯λ―Ό", "μž…λ‹ˆλ‹€"];
arr.splice(1, 0, "λŒ€ν•œλ―Όκ΅­", "μΆ•κ΅¬μ„ μˆ˜"); // 1자리 즉, 2번째 자리 λΆ€ν„° μ‹œμž‘ν•œλ‹€

console.log(arr); // ["λ‚˜λŠ”", "λŒ€ν•œλ―Όκ΅­", "μΆ•κ΅¬μ„ μˆ˜", "손ν₯λ―Ό", "μž…λ‹ˆλ‹€"]

 

splice()

μ‚­μ œλœ μš”μ†Œ λ°˜ν™˜

var arr = [10, 20, 30, 40, 50];

let result = arr.splice(1, 2); // 1자리(2번째)λΆ€ν„° 2개 μ§€μ›ŒλΌ

console.log(arr); // [10, 40, 50]
console.log(result); // [20, 30] κ²°κ΅­ μ§€μš΄ 값은 λ°˜ν™˜λœλ‹€