JavaScript でキーによってネストされたオブジェクトを検索する方法?

DDD
リリース: 2024-11-16 08:52:03
オリジナル
155 人が閲覧しました

How to Find Nested Objects by Key in JavaScript?

キーによるネストされたオブジェクトの検索

深くネストされた配列やオブジェクトをナビゲートして特定の値を見つけるのは、困難な作業となる場合があります。提供されているような複雑なデータ構造があるシナリオを考えてみましょう。特定の 'id' プロパティが複数のレベルでネストされたオブジェクトを見つけるには、再帰を利用できます。

再帰的ソリューション

提供された関数 'getObject' は、オブジェクトを入力として受け取り、そのプロパティを反復処理します。プロパティが配列の場合、関数は各要素を再帰的に検索します。それ以外の場合、関数はプロパティが目的の 'id' であるかどうかをチェックし、一致するものが見つかった場合はオブジェクトを返します。

function getObject(theObject) {
    var result = null;
    if (theObject instanceof Array) {
        for (var i = 0; i < theObject.length; i++) {
            result = getObject(theObject[i]);
            if (result) {
                break;
            }
        }
    } else {
        for (var prop in theObject) {
            console.log(prop + ': ' + theObject[prop]);
            if (prop == 'id') {
                if (theObject[prop] == 1) {
                    return theObject;
                }
            }
            if (theObject[prop] instanceof Object || theObject[prop] instanceof Array) {
                result = getObject(theObject[prop]);
                if (result) {
                    break;
                }
            }
        }
    }
    return result;
}
ログイン後にコピー

このソリューションは、ネストされたデータ構造を再帰的に走査し、指定された ' を持つオブジェクトを検索します。 id」プロパティ。プロパティ配列とオブジェクトの両方を処理し、完全な検索を保証します。

更新された例

更新された jsFiddle (http://jsfiddle.net/FM3qu/7/) )、提供された関数を使用して、複雑なデータ構造内で 'id' が 1 に設定されたオブジェクトを見つけることができます。

以上がJavaScript でキーによってネストされたオブジェクトを検索する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート