JavaScript
Node.js

Node.jsでの配列と連想配列について調べた

More than 1 year has passed since last update.

色々やってみたのでメモ

最近先輩が口を開くたびにNode.jsの話をしてくるので自分も勉強して良さを知りたい

配列

配列の中身は型が違ってもいいすごい

let a = [1,2,"3"]

for(x in a){
    console.log(x)
}
/* output
0
1
2
*/

for(変数 in array)の変数にはindexがはいるそうなので配列の要素を取得したいときは

for(let i = 0,len = a.length;i < len;i++){
    let x = a[i];
    if(typeof x === "number"){
        console.log(x);        
    } else {
        console.log(x + ":" + typeof x)
    }
}
/*
1
2
3:string
*/

みたいな感じでやりましょう!
数値の型はintだと思ってて実行してからnumberってことに気づきました..

console.log()で出力すると改行されるので,しない場合はprocess.stdout.write()にするといい

配列の要素を追加するにはa.push(XXX)とかで追加します。
a += '4'とかやっても末尾に加わらないので!(いけると思ってやった..)
ちなみに+=で追加すると下みたいな感じになります

a += "4"
for(x in a){
    console.log(a[x])
}
/*
1
,
2
,
3
4
*/

ちゃんと追加するときは↓

a.push("4")
console.log(...a)
// 1 2 '3' '4'

...aで配列の要素展開できるのホント素敵

例えば

var b = ['5',6]
a = [...a,...b]
console.log(...a)
// 1 2 '3' '4' '5' 6

とか言うこともできるのですごい楽に配列同士を結合できたりする

連想配列

そういえばCしかやってない友達に連想配列って言っても伝わらなかった、かなs..かなc

let b = {
    a : 1,
    b : 2,
    c : 3
}

for(x in c){
    console.log("c[" + x + "] = " + c[x])
}
/*
c[a] = 1
c[b] = 2
c[c] = 3
*/

連想配列の場合もfor(変数 in obj)で変数にはkeyが入るのでvalueを取得するにはb[変数] みたいにする必要があります。
ちなみにconsole.log(...b)とかやると怒られました

連想配列の要素を追加するときはc['d'] = 4のような感じで追加します。

配列操作は今回pushしか書いてませんけど、当然ながら末尾に追加する以外にももっとたくさんできることがあるので是非是非調べてみてください。

おわり

オブジェクト指向を何かしら制作しながらちゃんと学びたいんだけど何作るのが一番理解深まるかなぁ