TIL:19日「Array method-2-」

10752 ワード

前の文章に続いて、配列の方法について議論します.

Array.slice


Array.sliceはパラメータ受信配列の一部として,伝達された部分をコピーして返すことを特徴とする.
元のアレイはそのままです.
const arrA = [1,2,3,4];

let result = arrA.slice(1,2);
console.log(result); // [2] 출력
に示すように、1番目に指定したパラメータは基準点、すなわち特定のインデックスを入力し、2番目のパラメータは入力インデックスの前の値を返します.
入力された2番目のインデックスに対応する値は返されませんので、上記の例では[2]のみが出力です.
何も入力しない場合は、すべてのアレイをコピーします.
負の値を入力すると、最後の要素からカウントしてコピーします.
渡されたパラメータが1つの場合、要素の後にあるすべての値がコピーされます.

Array.splice


Array.spliceは、既存の配列から要素を削除し、その位置に新しい要素を追加する方法です.元の配列を変形する方法である配列の間に新しい要素を追加することもできます.
主に配列から一部の要素を削除するために使用され、最初に渡されるパラメータはデータムとしてのインデックスであり、2番目はデータム点から削除する要素の数です.
オプションを追加することもできます.この場合、追加した3番目のパラメータは、削除位置の新しい値に入ることを意味します.
const arrA = [1,2,3,4,5];
const result = arrA.splice(1,3);

console.log(result); // [2,3,4] 출력
console.log(arrA); // [1,5]출력
上記のように使用します.

Array.sort


Array.sortは配列を順番に並べ替える方法であり,reverseとは逆に昇順に並べ替える.
文字列などもUnicodeによって並べ替えられる特徴があります.
動作は次のとおりです.
const arrA = [5,2,3,4,1]
const result = arrA.sort();

console.log(result); // [1,2,3,4,5] 출력

Array.forEach


Array.forEachは、関数をパラメータとする方法であり、その配列内のすべての要素をパラメータとする関数のパラメータである.
const arrA = [1, 2, 3];
let arrB = [];

for (let i = 0; i < arrA.length; i++) {
  arrB.push(arrA[i] ** 2);
}

console.log(arrB); // [ 1, 4, 9 ] 출력
以上のように動作します.
また、元の配列を変更しないという特徴があります.

Array.map


Array.mapもパラメータとしての関数であり、foreachが実行関数である場合、mapはパラメータとして受信した関数を実行し、結果値を収集して新しい配列を生成する方法である.
const arrA = [1,2,3,4,5];
function mapper(i) {
  return i * 2
};
let result = arrA.map(mapper);
console.log(result); // [2,4,6,8,10] 출력
以上のように動作します.

Array.filter


Array.filterの動作は少し特殊で、パラメータとしての関数の実行結果がtrueの要素だけを収集して配列を作成します.
すなわちif文を配列に適用することができます.
const result = [1, 2, 3, 4, 5].filter(function (item, index, self) {
  console.log(`[${index}] = ${item}`);
  return item % 2;
});

console.log(result); // [ 1, 3, 5 ] 출력
以上のように動作します.
簡単に言えば、特定の条件を満たす要素だけを集めて、フィルタリングする方法です.
量が多いので、最後に次の文章を並べます.
もちろん、実際に使う方法は多種多様で、自分で使って熟知したほうがいいです.