は単にundefined
である要素と混同すべきではない、それぞれのインデックスのギャップを有していてもよい自分の欠点を補う何らかの利益を伴います可能な限り避けるべきであるかどうかわからないlengthプロパティ。もしそうなら、私はデフォルトでエッジケースとして扱うとしません:は、それぞれのインデックスのギャップとの配列を行いJavaScript配列で
// default:
function head(xs) {
return xs[0];
}
// only when necessary:
function gapSafeHead(xs) {
var i;
for (i = 0; i < xs.length; i++) {
if (i in xs) {
return xs[i];
}
}
}
をhead
は非常に簡潔であるという事実のほかに、もう一つの利点は、それがすべてのアレイのようなデータ型に使用することができることです。 head
はほんの一例です。このようなギャップをコード全体で考慮する必要がある場合は、オーバーヘッドが大幅に大きくなるはずです。
私は、一度、疫病のようなギャップを避けます。 –
もしそれらが本当にインデックスであり、 "古典的な"配列を使用するならば、それはギャップを避けるのが理にかなっています。あなたの配列を数値プロパティを持つオブジェクトとして扱うと、ギャップに間違いはありません。 –