「2つの連想配列で、キーが一致する要素のみ追加する方法」
の紹介です。先日公開した、SheetWrapperの操作に使用しました。具体的には、タスクが完了したから完了シートに移動したいけれど、移動先には最低限の項目しか無いから、エラーを吐かずにうまく処理したいお話です。
ミソは、連想配列のキーの有無を調べることと、キーの数を合わせることです。
コード
var myOrderList = {orderId:['D00001', 'A00001'], person:['大喬', '郭淮'], appearance:['最上級', '醜'] }; var addOrderList = {orderId:'A00123', company:'揚子江周遊', person:'淩統' }; //↑addOrderListのcompanyは無視(空欄) Logger.log(myOrderList); Logger.log(addOrderList); for(var item in myOrderList){ // itemにはキーが入る if(addOrderList[item]){ // itemの有無を返す myOrderList[item].push(addOrderList[item]); } else { myOrderList[item].push(''); // addに無いキーは空欄 } } Logger.log(myOrderList);
実行ログ(前後の配列の内容)
{appearance=[最上級, 醜], orderId=[D00001, A00001], person=[大喬, 郭淮]} {orderId=A00123, person=淩統, company=揚子江周遊} {appearance=[最上級, 醜, ], orderId=[D00001, A00001, A00123], person=[大喬, 郭淮, 淩統]}
0 件のコメント:
コメントを投稿