TIL 009|アレイの基礎


1.アレイ(Array)



JavaScriptでは、アレイ(Array)は特定のデータの集合です.配列に含まれる要素(element)とは、すべてのデータ型を含む要素です.カッコ[]は、要素を内蔵する形式にすることができます.

配列の特徴の一つは存在順序である.一番前の要素は0番のインデックスにあり、それから1番のインデックス、2番のインデックス、3番のインデックス...にあります.なお、配列の長さは要素の個数と同じであるため、上記の例では配列の長さは4であり、最後の要素のインデックス番号は1が4より小さい3である.

2.配列のインデックスを使用して要素にアクセスする


配列の名前の後にカッコ[]を書き、インデックス番号を書くと、配列内の各要素にアクセスできます.
let myArray = [19, 44, 'good', false];

console.log(myArray[0]);  // 19
console.log(myArray[1]);  // 44
console.log(myArray[2]);  // 'good'
console.log(myArray[3]);  // false
上記の例では、配列内の要素の数が少ないため、最後の要素にアクセスしやすいが、配列の長さが長くなると、最後の要素のインデックス番号を見つけるのが難しくなり、length propertyを使用することができる.
let myArray = [19, 44, 'good', false, 'bad', 500, 1000, null, undefined, 7000];

console.log(myArray.length);             // 10

console.log(myArray[9]);                 // 7000

console.log(myArray[myArray.length-1]);  // 7000   
// 일반화시켰기 때문에 변수의 개수가 변해도 계속 사용가능

3.配列内の値を変更、追加または削除する方法

  • 配列の値
  • を変更
    let myArray = [19, 44, 'good', false];
    
    myArray[0] = 500;
    
    console.log(myArray);   // [500, 44, 'good', false]
    
    myArray[2] = 'bad';
    
    console.log(myArray);   // [500, 44, 'bad', false]
  • アレイの末尾に要素
  • を追加
    let myArray = [19, 44, 'good', false];
    
    myArray.push('apple');
    
    console.log(myArray);   // [19, 44, 'good', false, 'apple']
  • アレイの末尾から要素
  • を削除する.
    let myArray = [19, 44, 'good', false];
    
    myArray.pop();
    
    console.log(myArray);   // [19, 44, 'good']
    
    myArray.pop();
    myArray.pop();
    
    console.log(myArray);   // [19]
  • アレイの前面から要素
  • を削除する.
    let myArray = [19, 44, 'good', false];
    
    myArray.shift();
    
    console.log(myArray);   // [44, 'good', false]
    
    myArray.shift();
    myArray.shift();
    
    console.log(myArray);   // [false]
  • 配列から要素
  • の追加を開始
    let myArray = [19, 44, 'good', false];
    
    myArray.unshift('apple');
    
    console.log(myArray);   // ['apple', 19, 44, 'good', false]

    4.接合方法


    spliceメソッドは、配列内の要素を削除したり、他の要素で置き換えたり、新しい要素を追加したりするために使用されます.
    array.splice( start, deleteCount, value1, value2, ...)  // splice 문법
    上記には複数のパラメータが含まれていますが、剪断方法は必要に応じて少なくとも1つのパラメータを使用することができます.
  • 最初のパラメータ:配列のインデックス開始点
  • 第2パラメータ:削除する要素数
  • の3番目のパラメータの後:追加したい要素
  • let myNumber = [1, 2, 3, 4, 5]
    
    myNumber.splice(2);              // 2번 index부터 삭제
    
    console.log(myNumber);           // [1, 2]
    let myNumber = [1, 2, 3, 4, 5]
    
    myNumber.splice(3, 1);           // 3번 index부터 1개 삭제 
                                     // 요소 1개 삭제할 때 유용
    console.log(myNumber);           // [1, 2, 3, 5]
    let myNumber = [1, 2, 3, 4, 5]
    
    myNumber.splice(1, 2);           // 1번 index부터 2개 삭제
    
    console.log(myNumber);           // [1, 4, 5]
    let myNumber = [1, 2, 3, 4, 5]
    
    myNumber.splice(2, 1, 'apple');  // 2번 index부터 1개 제거 후 그 자리에 'apple'추가
    
    console.log(myNumber);           // [1, 2, 'apple', 4, 5]
    let myNumber = [1, 2, 3, 4, 5]
    
    myNumber.splice(2, 3, 'apple');  // 2번 index부터 3개 제거 후 그 자리에 'apple'추가
    
    console.log(myNumber);           // [1, 2, 'apple']
    let myNumber = [1, 2, 3, 4, 5]
    
    myNumber.splice(2, 0, 'apple');  // 2번 index부터 0개 제거 후 그 자리에 'apple'추가
                                     // 요소 1개 원하는 위치에 추가할 때 유용
    console.log(myNumber);           // [1, 2, 'apple', 3, 4, 5]
    let myNumber = [1, 2, 3, 4, 5]
    
    myNumber.splice(-2);             // 뒤에서부터 2개 삭제
    
    console.log(myNumber);           // [1, 2, 3]

    5.多次元配列


    最初に述べたように、配列の内容は要素(element)と呼ばれ、要素はすべてのデータ型を含むことができる.配列内の要素.配列が入るときは2 D配列と呼ばれ、多次元配列が含まれます.
    2 D配列は要素にもアクセスでき、カッコ[]をもう一度書けばいいです.
    let myArray = [19, 44, 'good', [100, 200, 500], false];
    
    console.log(myArray[3]);      // [100, 200, 500]
    console.log(myArray[3][0]);   // 100
    console.log(myArray[3][1]);   // 200
    console.log(myArray[3][2]);   // 500
    
    console.log(myArray[1][3]);   // undefined
    console.log(myArray[2][3]);   // 'd'   
    //(시험삼아 쳐봤는데 'good'의 index 3번의 문자열이 나왔다.)

    references


    https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array
    https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
    https://mine-it-record.tistory.com/352