今週は制作物を投稿するつもりでしたが、忘備録として投稿したい内容があるのでそっちを先に。
プログラミング学習始めて2ヶ月。JSとPHPを学んできました。
そこでずっとずっとずっと悩みの種の一つが配列。
JS時もイマイチで、その後PHPの勉強をしたのですが、ここでも出てくる配列。
今回課題作成にあたり相当配列を使ったので、忘れないよう忘備録として書きます。
当たり前と言えば当たり前の事なんですが、私はここまでたどり着くのに2ヶ月・・・
そして正直まだ全部理解したとも思えず・・・自信はありません。
まず普通の配列
letarray=["name","id","pw","emal"];//配列の長さを取得console.log(array.length);//4//配列の1個目を取得console.log(array[1]);//"name"//"pw"が配列内の何個目にあるか知りたいconstresult=$.inArray("pw",array);console.log(result);//2
次に連想配列
連想配列はkey:valueで成り立っている
letarary={name:"鈴木",id:"1111",pw:"aaaa",email:"test@test.com"}//配列内のkey名取得constkey=Object.keys(array);console.log(key);//["name", "id", "pw", "email"]//nameというkeyのvalueを取得console.log(array.name);//"鈴木"
最後に多次元の連想配列、普通の配列+連想配列のイメージ
letarray=[{name:"鈴木",id:"1111",pw:"aaaa",email:"test@test.com"},{name:"田中",id:"2222",pw:"bbbb",email:"test2@test2.com"},{name:"佐藤",id:"3333",pw:"cccc",email:"test3@test3.com"}];// 多次元配列内の1番目の連想配列を取得console.log(array[1]);//{name: "田中", id: "2222", pw: "bbbb", email: "test2@test2.com"}// 取得した連想配列の"name"keyのvalueを取得console.log(arryB[1].name);//"田中"
今思い返すと「配列苦手!」と感じていた要因としては、
大体何か作っていて配列使う時はループ処理が伴う事が多かった。
私はまだまだプログラミング脳ではないためループ処理はループ処理でよくわからんかったし(回すって何!?というレベルでした)、その上イメージがつかない配列があってぐちゃぐちゃ。
例えばこういうの
letarray=[{name:"鈴木",id:"1111",pw:"aaaa",email:"test@test.com"},{name:"田中",id:"2222",pw:"bbbb",email:"test2@test2.com"},{name:"佐藤",id:"3333",pw:"cccc",email:"test3@test3.com"}];// 多次元配列のキーを取得letkeyB=Object.keys(arryB);console.log(keyB);// ["0", "1", "2"]for(vari=0;i<key.length;i++){letall=(array[i])//多次元配列内の全ての連想配列を取得console.log(all);//取得した連想配列の"id"keyのvalueを取得console.log(all["id"]);//"1111","2222","3333"}
JSだけの時はこればっかりで訳わからなかったのですが、個人的にはPHPも勉強してデータを扱うようになって、[配列]とループ処理が少しずつわかってきたかも!?って感じです。