📌 JavaScriptコンセプト#12 split/slice/concat


接続せつぞく:配列の追加/削除はいちのついか/さくじょ


splice( )


テキストを削除すると追加できます.

サンプルコード

let fruits = ["apple", "orange", "grape"];
let retr;

// 배열 추가 / 삭제 : LIFO (= Last In First Out) = front
retr = fruits.splice(1);
console.log(retr); // [ 'orange', 'grape' ]
// 매개변수로 받은 index 이후의 값을 잘라서 return 하는것
console.log(fruits); // [ 'apple' ]

fruits = ["apple", "orange", "melon", "strawberry"];
console.log(fruits.splice(1, 1)); 
// [ 'orange' ] -> 오렌지가 빠짐
console.log(fruits); 
// 사과, 멜론, 딸기만 보임

console.log(fruits.splice(1, 1, "mango", "kiwi")); 
// [ 'melon' ] -> 멜론이 빠짐
console.log(fruits); 
// [ 'apple', 'mango', 'kiwi', 'strawberry' ]
// -> 멜론이 빠진 자리에 데이터가 추가
splice ( start, end, add index )
=インデックスの開始から終了までのクリア範囲を設定し、追加するインデックスを書き込みます.
----->例えば、
fruits = ["apple", "orange", "melon", "strawberry"];

console.log(fruits.splice(1, 1, "mango", "kiwi")); 
で、索引1から索引1(=オレンジ色)までのクリア範囲を設定し、その位置にマンゴーとキウイを挿入します.

slice:配列の削除


slice( )


元のオブジェクトには影響しません.タイル要素を削除します.

サンプルコード

// 배열 삭제 (index) : 배열요소 삭제
// => 원본 객체에 영향을 미치지 않음 (slice)
let fruits = ["apple", "orange", "melon"];

console.log(fruits.slice(1));
// [ 'orange', 'melon' ]
console.log(fruits); 
// [ 'apple', 'orange', 'melon' ] 다 있음 (원본데이터)

console.log(fruits.slice(1, 2)); 
// [ 'orange' ]

// slice는 String과 동일하게 index이다.
// 따라서, end point를 두번째 매개변수로 넣어야 한다
console.log(fruits.slice(-2));
// [ 'orange', 'melon' ]

// 자료형과 동일하게 음수로도 넣어줄 수 있다.
// ==> slice의 방식은 String과 동일하다.
-->基本形態は以下の通りです.
Array.slice([start], [end])

concat:配列のマージ


concat( )


配列を結合できます->複数のアレイのマージ
元のオブジェクトには影響しません.

サンプルコード

// 배열 병합
// => concat을 통해 손쉽게 추가 가능하다.
let fruits = ["apple", "orange", "melon"];
let fruits_add = ["cherry", "banana"];

console.log(fruits.concat(fruits_add));
// [ 'apple', 'orange', 'melon', 'cherry', 'banana' ]
console.log(fruits); 
// [ 'apple', 'orange', 'melon' ]
// 원본데이터 그대로 나온다.
-->基本形態は以下の通りです.
Array.concat(arg1, arg2, ...)