TIL 18. JavaScript - Array


#アレイ[]

let cities = ["서울", "대전", "인천", "부산"];  //"서울" : Element
let KOSPT = [2062.82, 2053.2, 2045.92, 2058.82];

let anything = ["대전", 1987, ["하나", "둘", 3]];

//배열 요소는 index를 포함하여 0 부터 인식됨
// =>"대전" : index[0] , 1987 : index[1] , ["하나", "둘", 3] : index[2] 

	// 출력
    console.log(anything[0]);
    console.log(anything[1]);
    console.log(anything[2]);

if()、for()でarray[]を大量に使用する場合はarr.length(配列の個数)を使用します。


array[index]    :   0   から始まる。


#操作タイル


#array+Element(push/unshift)の追加



cities[]:インデックス2の空の配列に追加します.インデックス5を追加すると、空のインデックス3、4が見つかりません.
📌 push()-配列の最後に追加
📌 unshift()-arrayの一番前に追加

#array-Element(pop)の削除


pop()-最後のインデックスの要素値を削除し、最後の要素の値を返します.
shift()-pop()関数とは逆に、一番前のインデックスの要素値が削除され、一番前の要素値が返されます.

#例質問1回答)


-getElement関数でarr変数を宣言します.
-arr変数には配列が割り当てられ、配列には複数のデータ型の要素が含まれています.
-配列を含むarr変数にアクセスして、getElement関数がarrayという文字列を返すようにしてください.
function getElement() {
  let arr = [3, [4, ["array", 9], 2+3], [0]];
  return arr[1][1][0];
}

#例2回答)


-addFirstAndLast関数に入力してください.
−addFirstAndLast関数のパラメータmyArrayは数値のみからなる配列である.
-addFirstAndLast関数で指定されたパラメータmyArrayの最初の要素と最後の要素の値を加算した値を返します.
-myArrayに要素が1つしかない場合は、要素の値を返し、要素が空の配列の場合は0を返します.
Array[]の長さの計算 : .length
// ex) myArray = [3, 2, 5];
function addFirstAndLast(myArray) {
  if (myArray.length > 1) {
    return myArray[0] + myArray[myArray.length-1];
  } else if (myArray.length == 1) {
    return myArray[0];
  } else if (myArray.length == 0) {
    return myArray.length;
  }
}

#例3回答)


-divideArrayInHalf関数を次のように実装してください.
-divideArrayInHalf関数パラメータとしてのarrayは数値値のみからなり、正確には合計5つの要素(element)からなる.
-arrayの10個の同じ値または小さい値の要素がresultの一番前にあります.
値が-10より大きい要素はresultの最後の再構築配列を返します.
!! 重要事項
順序はarrayの最後の要素から一番前の要素まででなければなりません.
たとえば、パラメータ配列の値が次のようになります.
[1, 20, 10, 5, 100]
結果配列の作成順序は次のとおりです.
[100]
[5, 100]
[10, 5, 100]
[10, 5, 100, 20]
[1, 10, 5, 100, 20]
次の結果を返さなければなりません.
[1, 10, 5, 100, 20]

function divideArrayInHalf(array) {
  let result = [];
  for (i=0; i<=4;i++){
    let num = array.pop();
    if(num <= 10){
      result.unshift(num);
    }else if(num > 10){
      result.push(num);
    }
  }
  return result;
}

divideArrayInHalf([1,10,5,100,20])