0

これが私の配列です

var linkArray = {
boothsizeDiv_link: false,
furnishingsprovidedDiv_link: false,
electricalDiv_link: false,
rentalfurnishingsDiv_link: false,
gesgraphicsDiv_link: false,
geslaborDiv_link: false,
contractorDiv_link: false,
carpetingDiv_link: false,
boothlightingDiv_link: false,
javitsDiv_link: false,
boothsealDiv_link: false,
mannequinsDiv_link: false,
calcDiv_link: false
};

この配列の長さを調べる方法は? 私はそれをグーグルで検索しましたが、役に立ちません..

4

3 に答える 3

4

このような:

Object.keys(linkArray).length
于 2013-03-14T10:49:43.827 に答える
1

これを試して:

var i, length = 0;
for(i in linkArray) {
  if(linkArray.hasOwnProperty(i)) {
    length++;
  }
}

// Here you can use length
于 2013-03-14T10:50:28.640 に答える
0

解決策は

Object.getOwnPropertyNames(linkArray).length

ただし、これは配列ではなくオブジェクトであるため、注意してください。

また、Internet Explorer 9 未満では動作しないことに注意してください。

このMDN 記事では、 の使用方法を確認getOwnPropertyNamesできます。

サポートしていないブラウザでも使用したい場合は、スクリプトの最初に次のスニペットを挿入するだけです。

Object.getOwnPropertyNames = Object.getOwnPropertyNames || function(obj) {
    var ownProperties = [];
    var current = '';
    for(current in obj) {
      if(linkArray.hasOwnProperty(current)) {
        ownProperties.push(current);
      }
    }
    return ownProperties;
}

(私はそれを書いたばかりで、現時点ではテストできませんが、動作するはずです)

Object.getOwnPropertyNamesこのスニペットを使用すると、ネイティブにないブラウザーでシミュレートできます。

そして明らかにgetOwnPropertyNamesあなたの代わりに使うこともできますkeys

于 2013-03-14T10:50:14.003 に答える