Bug(バグ) #3530
Yuya Watanabe さんが約11年前に更新
h3. 概要
配列を逆順にする際に配列外を参照している
<pre>
web/js/timeline-loader.api.js
86 var reverseJson = [];
87 for (var i = 0; i <= json.data.length; i++)
88 {
89 reverseJson[i] = json.data[json.data.length - i];
90 }
91 $('#timelineCommentTemplate').tmpl(reverseJson).prependTo(commentlist);
</pre>
reverseJson を出力してみると下記のようになる.
<pre>
[undefined, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object]
</pre>
jquery.tmpl 内では false と評価されるようなものは追加されていない様子なので表面上問題は発生していない.
h3. 備考
同じファイルの別のところでは reverse() を用いているようだけれども.
<pre>
web/js/timeline-loader.api.js
327 $('#timelineCommentTemplate').tmpl(json.data[i].replies.reverse()).prependTo('#commentlist-' +json.data[i].id);
</pre>