配列内のメソッド(3)


配列内のメソッド
arrayオブジェクトの方法を理解します.
「これらの関数を全部書く」よりも、覚えておいて、覚えている間に見て使うようにします.
うまく利用すれば、配列をより効果的に使えるようです.
配列の方法(1):concat()、copyWithin()、entries()、each()、fill()、filter()、find()、findIndex()、forEach()、include()
url : https://velog.io/@rain98/TIL-%EB%B0%B0%EC%97%B4%EC%9D%98-%EB%A9%94%EC%86%8C%EB%93%9C
配列の方法(2):indexof()、join()、keys()、lastIndexOf()、map()、pop()、push()、reduce()、reverse()
url : https://velog.io/@rain98/TIL-%EB%B0%B0%EC%97%B4%EC%9D%98-%EB%A9%94%EC%86%8C%EB%93%9C-2
配列内のメソッド(3):shift()、slice()、sort()、splice()、toString()、unshift()
url : https://velog.io/@rain98/TIL-%EB%B0%B0%EC%97%B4%EC%9D%98-%EB%A9%94%EC%86%8C%EB%93%9C-3
shift()
配列から最初の要素を削除し、削除した要素を返します.
arr.shift()
shift()の例
const array1 = [1, 2, 3];

const firstElement = array1.shift();

console.log(array1);
// expected output: Array [2, 3]

console.log(firstElement);
// expected output: 1
アレイから要素を削除
var myFish = ['angel', 'clown', 'mandarin', 'surgeon'];

console.log('myFish before: ' + myFish);
// "제거전 myFish 배열: angel,clown,mandarin,surgeon"

var shifted = myFish.shift();

console.log('myFish after: ' + myFish);
// "제거후 myFish 배열: clown,mandarin,surgeon"

console.log('Removed this element: ' + shifted);
// "제거된 배열 요소: angel"
while繰返し文でshift()を使用する
shift()メソッドはwhile文の条件としても使用できます.次のコードでは、while文を迂回するたびに、配列の次の要素が削除され、空の配列になるまで繰り返します.
var names = ["Andrew", "Edward", "Paul", "Chris" ,"John"];

while( (i = names.shift()) !== undefined ) {
    console.log(i);
}
// Andrew, Edward, Paul, Chris, John
mdn : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/shift
slice()
一部の配列を抽出した新しい配列を返します.
元のシナリオは変更されません.
arr.slice([begin[, end]])
slice()パラメータ

  • begin(選択)
    0を起点とする抽出起点に対するインデックスを表します.反対に
    負数インデックスは配列の末尾の長さを表します.
    たとえば、slice(-2)は配列から最後の2つのセグメントを抽出します.

  • end(選択)
    抽出した0個の条件付きインデックスを終了します.sliceはendインデックス以外に抽出されます.
    負数インデックスは配列の末尾の長さを表します.たとえば、slice(2,-1)は、3番目の要素から2番目の要素まで開始します.
    endを省略すると、slice()は配列の末尾(arr.length)を抽出します.
  • slice()の例
    const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
    
    console.log(animals.slice(2));
    // expected output: Array ["camel", "duck", "elephant"]
    
    console.log(animals.slice(2, 4));
    // expected output: Array ["camel", "duck"]
    
    console.log(animals.slice(1, 5));
    // expected output: Array ["bison", "camel", "duck", "elephant"]
    mdn : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
    some()
    配列内の任意の要素が所定の関数を通過するかどうかをテストし、満たされるとtrueを返します.
    注意:空の配列呼び出しは無条件にfalseを返します.
    arr.some(callback[, thisArg])
    パラメータ
  • callback
    各要素の関数をテストします.以下の3つの買収を受ける.
  • currentValue
    処理する現在の要素.
  • インデックス(オプション)
    処理する現在の要素のインデックス.
  • アレイ(オプション)
    呼び出し部分の配列.
  • thisArg(オプション)
    コールバックを実行するときに使用する値.
  • const array = [1, 2, 3, 4, 5];
    
    // checks whether an element is even
    const even = (element) => element % 2 === 0;
    
    console.log(array.some(even));
    // expected output: true
    アレイ内の要素のテスト
    アレイのいずれかの要素が10より大きいかどうかを判断します.
    function isBiggerThan10(element, index, array) {
      return element > 10;
    }
    
    [2, 5, 8, 1, 4].some(isBiggerThan10);  // false
    [12, 5, 8, 1, 4].some(isBiggerThan10); // true
    mdn : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/some
    sort()
    配列内の要素を適切な位置に配置し、配列を返します.
    デフォルトのソート順はUnicodeコードポイントに従います.
    arr.sort([compareFunction])
    sort()パラメータ
  • 比較機能(オプション)
    ソート順を定義する関数.省略すると、配列は各要素の文字列に基づいて変換され、各文字のUnicodeコードポイント値に基づいてソートされます.
  • sort()例
    var score = [4, 11, 2, 10, 3, 1]; 
    
    score.sort(function(a, b) { // 오름차순
        return a - b;
        // 1, 2, 3, 4, 10, 11
    });
    
    score.sort(function(a, b) { // 내림차순
        return b - a;
        // 11, 10, 4, 3, 2, 1
    });
    mdn : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
    splice()
    アレイ内の既存の要素を削除または置換したり、新しい要素を追加したりして、アレイの内容を変更します.
    array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
    splice()パラメータ

  • cstart
    アレイのインデックスの変更を開始します.配列の長さより大きい値の場合、実際の開始インデックスは配列の長さに設定されます.負数の場合は、配列の末尾から要素の計算を開始します.

  • deleteCount(選択)
    アレイから削除する要素の数.
    deleteCountが0未満の場合、要素は削除されません.この場合、少なくとも1つの新しい要素を指定する必要があります.

  • item1, item2, ... (オプション)
    配列に追加する要素.要素が指定されていない場合、splice()は要素のみを削除します.
  • パッチ()の例
    1つも削除せずにbrumpを2番インデックスに追加
    var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
    var removed = myFish.splice(2, 0, 'drum');
    
    // myFish is ["angel", "clown", "drum", "mandarin", "sturgeon"]
    // removed is [], no elements removed
    
    1つも削除せず、2番インデックスにドラムとギターを追加
    var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
    var removed = myFish.splice(2, 0, 'drum', 'guitar');
    
    // myFish is ["angel", "clown", "drum", "guitar", "mandarin", "sturgeon"]
    // removed is [], no elements removed
    
    3番インデックスから要素を削除
    var myFish = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'];
    var removed = myFish.splice(3, 1);
    
    // removed is ["mandarin"]
    // myFish is ["angel", "clown", "drum", "sturgeon"]
    
    インデックス2から要素を削除し、「小さいサイズ」を追加
    var myFish = ['angel', 'clown', 'drum', 'sturgeon'];
    var removed = myFish.splice(2, 1, 'trumpet');
    
    // myFish is ["angel", "clown", "trumpet", "sturgeon"]
    // removed is ["drum"]
    
    インデックス0から2つの要素を削除し、parrot、anemone、blueを追加します.
    var myFish = ['angel', 'clown', 'trumpet', 'sturgeon'];
    var removed = myFish.splice(0, 2, 'parrot', 'anemone', 'blue');
    
    // myFish is ["parrot", "anemone", "blue", "trumpet", "sturgeon"]
    // removed is ["angel", "clown"]
    
    インデックス2から2つの要素を削除
    var myFish = ['parrot', 'anemone', 'blue', 'trumpet', 'sturgeon'];
    var removed = myFish.splice(myFish.length - 3, 2);
    
    // myFish is ["parrot", "anemone", "sturgeon"]
    // removed is ["blue", "trumpet"]
    
    -2番索引から要素を削除
    var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
    var removed = myFish.splice(-2, 1);
    
    // myFish is ["angel", "clown", "sturgeon"]
    // removed is ["mandarin"]
    
    インデックス番号2を含む後続の要素をすべて削除
    var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
    var removed = myFish.splice(2);
    
    // myFish is ["angel", "clown"]
    // removed is ["mandarin", "sturgeon"]
    mdn : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
    toString()
    配列と要素を表す文字列を返します.
    arr.toString()
    toString()の例
    const array1 = [1, 2, 'a', '1a'];
    console.log(array1.toString());
    var monthNames = ['Jan', 'Feb', 'Mar', 'Apr'];
    var myVar = monthNames.toString(); 
    // 'Jan,Feb,Mar,Apr'을 myVar에 할당.
    mdn : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/toString
    unshift()
    新しい要素を配列の一番前に追加し、新しい長さを返します.
    arr.unshift([...elementN])
    unshift()パラメータ
  • elementN
    配列の先頭に追加する要素.
  • unshift()の例
    const array1 = [1, 2, 3];
    
    console.log(array1.unshift(4, 5));
    // expected output: 5
    
    console.log(array1);
    // expected output: Array [4, 5, 1, 2, 3]
    
    別の例
    var arr = [1, 2];
    
    arr.unshift(0); //
    // arr is [0, 1, 2]
    
    arr.unshift(-2, -1); // = 5
    // arr is [-2, -1, 0, 1, 2]
    
    arr.unshift([-3]);
    // arr is [[-3], -2, -1, 0, 1, 2]
    mdn : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift