読者です 読者をやめる 読者になる 読者になる

console.lealog();

@leader22のWeb系に関する勉強めもブログですのだ

Handlebars.jsでループ中にインデックスを取得する

JavaScript Web Handlebars.js

実は普通に使えます。
てか、ヘルパーなしで取れるようになってる!w

参考:Handlebars.jsの基本的な使い方のメモ - console.lealog();

この記事書いたときにはなかったような気がすんねやけどなー。
気のせいかしら。

ループのインデックス

まずは。

{{#each array}}
  {{@index}}: {{this}}
{{/each}}

@index は 0 からカウントアップです。

オブジェクトのキー

{{#each object}}
  {{@key}}: {{this}}
{{/each}}

うん、わかりやすい。

インデックスだけじゃ物足りない

こういうスニペットがありました。

参考:Handlebars {{math}} helper - jsFiddle


単純にヘルパー組んだだけやけど、これは便利!
インデックスじゃなくてカウンターとして使いたいから、1からはじまってほしい・・みたいな場合は。

{{#each object}}
  {{math @index 1}}: {{this}}
{{/each}}

もしくは、

{{#each object}}
  {{math @index "+" 1}}: {{this}}
{{/each}}

わかりやすいっすね。

日本語でループとかインデックスとかあんまり書きたくないんですけど、検索されそうな用語が他に思いつかず・・。