JavaScript|Arrayで使用する有用な方法(2)


11. slice


arr.slice([begin[, end]])
//begin:0から始まるインデックス値で、負の値は配列の末尾から始まります.定義されていない場合は、0からスライスを開始します.
//end:終了したインデックス値を抽出し、実際にはend値の前にのみ抽出します.
const arr1 = ['dog', 'cat', 'duck', 'mouse'];
let duckDuck = arr1.slice(2, 3);

console.log(duckDuck) // ['duck']
console.log(arr1) // ['dog', 'cat', 'duck', 'mouse']
slice()は、endを含まない配列の開始から終了までの配列のコピーを新しい配列オブジェクトに返します.元の配列は変更されません.

12. find


arr.find(callback(element[, index[, array]])[, thisArg])
//callback:配列内の各値に対して実行される関数要素、index、arrayと呼ばれる3つのパラメータを受け入れます.
//elemnt:処理する現在の要素
//index:処理する現在の要素のインデックス(オプション)
//array:find関数を呼び出す配列(オプション)
//thisArg:callback呼び出し時に使用するオブジェクト(オプション)
const studentScore = [80, 92, 100, 88, 95];
const findStudent = studentScore.find((score) => score >= 95);

console.log(findStudent) // 100
find()は、与えられた判別関数を満たす最初の要素の値を返す.ない場合は、未定義を返します.

13. filter


arr.filter(callback(element[, index[, array]])[, thisArg])
//callback:各要素の関数をテストします.trueを返すと要素が保持され、falseを返すと要素が破棄されます.
//element:処理する現在の要素
//index:処理する現在の要素のインデックス(オプション)
//array:filterを呼び出す配列(オプション)
//thisArg:callback実行時に使用するオブジェクト(オプション)
const studentScore = [80, 92, 100, 88, 95];
const filterStudent = studentScore.filter((score) => score >= 95);

console.log(filterStudent) // [95, 100]
filter()は、所与の関数基準を通過するすべての要素を収集し、新しい配列に戻る.

14. map


arr.map(callback(currentValue[, index[, array]])[, thisArg])
//currentValue:処理する現在の要素
//index:処理する現在の要素のインデックス(オプション)
//array:mapを呼び出す配列(オプション)
//thisArg:callback実行時に使用するオブジェクト(オプション)
let arr1 [1, 2, 3, 4, 5];
let square = arr1.map(number => number * number);

console.log(square) // [1, 4, 9, 16, 25]
console.log(arr1) // [1, 2, 3, 4, 5]
map()は、配列内のすべての要素が与えられた関数を呼び出した結果をまとめ、新しい配列を返します.
呼び出し配列の値は変更されません.

15. some/every


arr.some(callback(currentValue[, index[, array]])[, thisArg])
arr.every(callback(currentValue[, index[, array]])[, thisArg])
//currentValue:処理する現在の要素
//index:処理する現在の要素のインデックス(オプション)
//array:soem/eachを呼び出す配列(オプション)
//thisArg:callback実行時に使用するオブジェクト(オプション)
let arr1 = [2, 4, 6, 8, 10];
let isOdd = arr1.some((number) => number % 2 !== 0);
let isEven = arr1.every((number) => number % 2 === 0);

console.log(isOdd) // false
console.log(isEven) // true
some()は、配列内の要素に対してコールバック関数を1回実行し、コールバックが戻りペアの要素を見つけるまで実行する.対応する要素が見つかった場合は、すぐにtrueを返します.すべての値でfalseが返されるとfalseが返されます.every()は、配列内の要素に対して、コールバックが虚偽の要素を返すまでコールバック関数を実行する.対応する要素が見つかった場合はfalseを返します.すべての値でfalseが返されるとtrueが返されます.

16. reduce


arr.reduce(callback(accumulator, currentValue[, currentIndex[, array]])[, initialValue])
//アキュムレータ:callbackの戻り値を累計します.最初の呼び出し時にinitialValueが指定されている場合は、initialValueです.
//currentValue:処理する現在の要素
//currentIndex:処理する現在の要素のindex、initialValueが指定されている場合は0、または1から
//array:reduceを呼び出す配列(オプション)
//initialValue:callbackの最初の呼び出しは、最初のパラメータに与えられた値です.値を割り当てない場合は、配列の最初の要素を使用します.
let arr1 = [1, 2, 3, 4, 5];
let sumEvery = arr1.reduce((prev, curr) => prev + curr, 0);
let sumEvery2 = arr1.reduce((prev, curr) => prev + curr, 10);

console.log(sumEvery) // 15
console.log(sumEvery2) // 25
reduce() callback関数を巡回し、配列内のすべての値を加算します.

17. sort


arr.sort([compareFunction])
//compareFunction:ソート順を定義する関数.省略すると、配列は各要素の文字列に応じて変換され、各文字のUnicode Point値に基づいてソートされます.
let arr1 = [1, 5, 2, 3, 4];
let ascending = arr1.sort((a, b) => a - b);

let arr2 = [1, 5, 2, 3, 4];
let descending = arr2.sort((a, b) => b - a);

console.log(ascending) // [1, 2, 3, 4, 5]
console.log(descending) // [5, 4, 3, 2, 1]
sort()は、配列内の値をソートする方法である.compareFunctionを使用して、昇順および降順のソートを行うことができます.元の値をコピー値を作成するのではなく、ソート状態として保存します.