LoginSignup
2
2

More than 3 years have passed since last update.

arrayについて

Last updated at Posted at 2020-01-14

よく使うarrayですが、改めて勉強します。

array(配列)

arrayとはデータ(プリミティブまたはオブジェクトのどちらか)が順序付けされて集まったものです。

const testArray = [1, 2, 3, 4, 5];

スクリーンショット 2019-12-08 5.56.48.png

要素を取り出す

配列の先頭の値
スクリーンショット 2019-12-08 6.02.44.png

配列の末尾の値

const lastNum = testArray.length - 1; 
console.log(testArray[lastNum]); //配列の最後の値

スクリーンショット 2019-12-08 6.24.44.png

値を追加する(push,unshift)

  • 末尾に値を追加する
testArray.push(6);

スクリーンショット 2019-12-08 6.04.04.png

  • 先頭に追加する
testArray.unshift(0);

スクリーンショット 2019-12-08 6.13.10.png

値を消す(shift,splice,pop)

  • 先頭の値を消す
console.shift(testArray);

スクリーンショット 2019-12-08 6.29.15.png

  • 特定の値を消したい場合
array.splice(2, 1); //配列の2番目の値を1つ削除する

スクリーンショット 2019-12-08 6.31.25.png

  • 末尾の値を消す
testArray.pop();

スクリーンショット 2019-12-08 6.34.57.png

map(要素ひとつひとつを取り出す)

arrayのオブジェクトはmap関数を持っています。

const testArray = [1, 2, 3, 4, 5];
testArray.map((elem ,index) => elem);
// [1, 2, 3, 4, 5] 

↑要素ひとつひとつを取り出して、最後はarrayを返してくれます。

確認
スクリーンショット 2019-12-08 6.48.31.png

arrayで返す時に文字列を追加することもできる

[1,2,3].map((elem, index) => {
    const key = `property${elem}`; //一度keyという名前で文字列を追加しから
    return {[key]: elem} //arrayに返す!
});

確認
スクリーンショット 2019-12-10 9.58.29.png

注意
一度変数に入れずにarrayに追加しようとするとerrorになりました。
スクリーンショット 2019-12-10 10.00.09.png

some(true / falseを返す)

some()は、配列のいずれかの要素が指定した条件を満たしているか否かをtrue / false で返すメソッドです。
1つでも条件を満たしている要素があれば、trueを返します。
任意の値が含まれていたら即座に処理が終わります。

[1,2,3,4,3].some(elem => elem === 3)  // 3がきたらtrueを返し、即処理終了

// もっと基礎的に書くと...
const test = [1,2,3,4,5];
const exists =test.includes(3); //3がtestの配列の中にあればtrue!
console.log(exists); // => true

↑これで実行するとtrueが返ってくる

やってみた
スクリーンショット 2020-01-05 3.49.41.png

どの値にも一致しなかった場合は、最後まで比較したあと、falseを返します。

これのメリットは、左から数えて1番最初の3が来た時にすぐに処理が終わることです。

パフォーマンスを意識したいときなどによく使います。

includes(true / falseを返す)

includesは特定の要素が配列に含まれているかどうかをtrue / false で返します。

const test = [1,2,3,4,5];

test.includes(5); // ture
test.includes(10); //false

やってみた
スクリーンショット 2020-03-15 3.12.51.png

slice(指定した部分の配列の一部をコピーして、新しい配列を返す )

slice() メソッドは begin から end まで選択された配列の一部をシャローコピーして、新しい配列オブジェクトを返します (end は含まれません)。元の配列は変更されません。

const test = ['a', 'b', 'c', 'd', 'e'];

const sliceArr = test.slice(0, 1); // ['a']
const sliceArr_2 = test.slice(0, 2); // ['a', 'b']
const sliceArr_3 = test.slice(2, 3); // ['c']

やってみた
スクリーンショット 2020-03-15 3.41.46.png

fillter(条件に一致した値のみを抽出する)

配列からある特定の条件下で条件に一致した値のみを抽出して、配列を返します。
一致しなかったものは配列には含まれません。


const test = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

const filterArr =test.filter(elem => elem > 1);
console.log(filterArr ); //[2, 3, 4, 5, 6, 7, 8, 9, 10]

// もっと基礎的に書くと...
const fillterArr_2 = test.filter(function( value ) {
    return value < 5; //5よりも小さい数値だけを抽出
});
console.log(fillterArr_2 ); //[1, 2, 3, 4,]

やってみた
スクリーンショット 2020-03-15 4.09.07.png

連想配列の配列の要素を条件にする場合

const arr2 = [
    { id: 1, name: 'test', height: 160},
    { id: 2, name: 'testさん', height: 170},
    { id: 3, name: 'test君', height: 180},
    { id: 4, name: 'testちゃん', height: 190}
];

// heightが180以上を抽出したい場合
const filterArr2 = arr2.filter(elem => elem.height >= 180); // id: 3、4が取れるはず

やってみた
スクリーンショット 2020-03-15 4.15.51.png

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2