動機
簡単に動作確認できるサンプルを作ることで、ほらこうなったでしょ~って説明をしやすくしたい。
→せっかく作ったならゴミコードでも公開しよう!
何をするコード?
- nameListをkey、Object(空のclassCd、Nm、updatedAtを持つ)をvalueとしたResultDataを作成する。
- DBdataの各データについて、DBdata.NmがnameListに存在した場合、DBdata.Nmをkeyとして取得できるResultData.ObjectのclassCdとupdatedAtをDBdataの情報で書き換える。
実行方法
- 下記のコードをそれぞれhtmlファイル、jsファイルとして同じディレクトリに保存する。
- htmlファイルをブラウザで開く。
test.js
nameList=["test1","test2","test3","test4"]; //Array型
let ResultData={}; //Object型
DBdata = [ //Array型
{Nm : "test1",
classCd : "空じゃないやつ",
updatedAt : "0930"
},
{Nm : "test2",
classCd : "空じゃないやつ",
updatedAt:"0932"
}
];
nameList.forEach(function(listNm){
ResultData[listNm]={
classCd : "空白",
Nm:listNm,
updatedAt :null
};
});
DBdata.forEach(function(data){
if( nameList.indexOf(data.Nm) > -1 ){
ResultData[data.Nm].classCd=data.classCd
ResultData[data.Nm].updatedAt=data.updatedAt
};
});
console.log("処理後のResultData", ResultData);
test.html
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<h1>This is testpage.</h1>
</body>
<script src="test.js"></script>
</html>
実行結果
DBdataに存在するtest1,test2については、ResultDataの書き換えが発生していることが分かる。
サンプルコードの値を変えて試してみよう。
以上。