準・究極の選択

ary を rst のように変換してみたいのです。
いろいろなアルゴリズム(アイディア)があったら教えてください。
できれなら、より洗練されたやつをお願いします。

let ary = [
[],
[1],
[1,2],
[1,2,3]
];

let rst = [
'',
'1 丁目',
'1 丁目 2 番地',
'1 丁目 2 番地 3 号'
];

質問者からの補足コメント

  • うーん・・・

    できるなら、rst を ary に戻す方法もお願いします。

      補足日時:2018/03/27 23:45
  • うれしい

    console.log (ary.map (a => a.map ((a, i) => a + [' 丁目',' 番地',' 号'][i]).join (' ')));

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/03/29 20:18

A 回答 (1件)

ちょっと力技っぽいやつ



let rst = [];
for (var i = 0; i < ary.length; i++) {
let item = ary[i];
rst[i] = (item[0] ? ('' + item[0] + ' 丁目') : '') + (item[1] ? (' ' + item[1] + ' 番地') : '') + (item[2] ? (' ' + item[2] + ' 号') : '');
}
この回答への補足あり
    • good
    • 0
この回答へのお礼

早っ! さっそく、ありがとうございます。

>ちょっと力技っぽいやつ
あの~、洗練されてます?

お礼日時:2018/03/28 01:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!