// ! 配列の各要素を順番に取り出すには、以下のように記述します。
const fruits = ["apple", "orange", "banana"];
// * for文
for(let i = 0; i<fruits.length; i++){
console.log(fruits[i])
}
// * forEach
fruits.forEach(function(fruit, index){
console.log(index, fruit)
})
// ! 配列の要素を追加する
var array = ['b', 'c', 'd'];
// * 配列の最初にひとつ以上の要素を追加
array.unshift('a');
console.log(array)
// * 配列の末尾にひとつ以上の要素を追加
array.push('e')
console.log(array)
// *既存の要素を取り除いたり、置き換えたり、新しい要素を追加したりすることで、配列の内容を変更
array.splice(1, 0, 'A');
console.log(array)
// ! 配列の要素を削除する
var array = ['a', 'b', 'c'];
// * 最初の要素を取り除く
array.shift();
console.log(array)
// *配列から最後の要素を取り除きその要素を返す
array.pop();
console.log(array)
// * splice
array.splice(1, 1);
console.log(array)
// *配列の全要素を削除する
array.length = 0;
console.log(array)
// ! 配列の要素を置換する
array.splice(1, 1, 'Z');
console.log(array)
// ! 配列の要素を結合
var a = [1, 2, 3, 4, 5];
a.join(); // '1,2,3'
a.join(', '); // '1, 2, 3'
a.join(' + '); // '1 + 2 + 3'
a.join('') // '123'
// ! 配列の検索
var array = [2, 9, 9];
array.indexOf(2); //0
array.indexOf(7); //-1 見つからない
array.indexOf(9); // 1 見つかった時点で検索を終了してしまう
// ! 配列を連結する
const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
// * concat 返り血に新しい配列を
console.log(array1.concat(array2)); // ["a", "b", "c", "d", "e", "f"]
// * 複数の配列を連結
const num1 = [1, 2, 3];
const num2 = [4, 5, 6];
const num3 = [7, 8, 9];
const numbers = num1.concat(num2, num3);
console.log(numbers); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
// ! 配列を並び替える
const months = ['March', 'Jan', 'Feb', 'Dec'];
// * sort 配列は各要素の文字列比較に基づき辞書順にソート
months.sort();
console.log(months); // ["Dec", "Feb", "Jan", "March"]
const array1 = [1, 30, 4, 21, 100000];
array1.sort();
console.log(array1); // [1, 100000, 21, 30, 4] 頭文字の数字の若いものから並んでしまう
// *数値を大小比較
const array1 = [1, 30, 4, 21, 100000];
array1.sort((a, b) => (a - b));
console.log(array1)// [1, 4, 21, 30, 100000]
// *元の配列を破壊したくない場合は、配列の複製を行ってから並び替え
const arr1 = ['a', 'b', 1, 3, 'c', 4, 2];
const arr2 = arr1.slice().sort();
console.log(arr1); // ["a", "b", 1, 3, "c", 4, 2];
console.log(arr2); // [1, 2, 3, 4, "a", "b", "c"]