jQuery はオブジェクトの長さをどのように取得して計算しますか?

伊谢尔伦
リリース: 2017-06-17 13:26:04
オリジナル
4096 人が閲覧しました

日常の開発ではオブジェクトが非常に頻繁に使用されますが、配列の長さを計算するのは非常に便利ですが、オブジェクトの長さはどのように計算するのでしょうか?次のような書籍と著者のセットを含む図書館プロジェクトがあるとします。

var bookAuthors = {
    "Farmer Giles of Ham": "J.R.R. Tolkien",
    "Out of the Silent Planet": "C.S. Lewis",
    "The Place of the Lion": "Charles Williams",
    "Poetic Diction": "Owen Barfield"
};
ログイン後にコピー

現在のニーズを分析し、データを API に送信しますが、書籍の長さは 100 を超えることはできないため、書籍の長さをカウントする必要があります。データを送信する前のオブジェクト内の本の合計数。それで、私たちはいつも何をしているのでしょうか?これは可能です:

function countProperties (obj) {
    var count = 0;
    for (var property in obj) {
        if (Object.prototype.hasOwnProperty.call(obj, property)) {
            count++;
        }
    }
    return count;
}
var bookCount = countProperties(bookAuthors);
// Outputs: 4
console.log(bookCount);
ログイン後にコピー

幸いにも、Javascript はオブジェクトの長さを計算するための変更されたメソッドを提供します:

var bookAuthors = {
    "Farmer Giles of Ham": "J.R.R. Tolkien",
    "Out of the Silent Planet": "C.S. Lewis",
    "The Place of the Lion": "Charles Williams",
    "Poetic Diction": "Owen Barfield"
};
var arr = Object.keys(bookAuthors);
//Outputs: Array [ "Farmer Giles of Ham", "Out of the Silent Planet", "The Place of the Lion", "Poetic Diction" ]
console.log(arr);
//Outputs: 4
console.log(arr.length);
ログイン後にコピー

配列で keys メソッドを使用しましょう:

var arr = ["zuojj", "benjamin", "www.zuojj.com"];
//Outputs: ["0", "1", "2"] 
console.log(Object.keys(arr));
//Outputs: 3
console.log(arr.length);
ログイン後にコピー

The Object.keys( ) メソッドは、指定されたオブジェクトの列挙可能なすべての自己プロパティのプロパティ名で構成される配列を返します。配列内のプロパティ名の順序は、for-in ループを使用してオブジェクトを走査するときに返される順序と一致します。 2 つの主な違いは、for-in は、オブジェクトがそのプロトタイプ チェーンから継承する列挙可能なプロパティもトラバースすることです。 JavaScript でオブジェクトの長さを取得する:

以上がjQuery はオブジェクトの長さをどのように取得して計算しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!