何卒よろしくお願い申し上げます。特定の値がユーザーが検索している用語と等しいオブジェクト内で、すべてのインスタンスを検索するように検索を設定する必要があるプロジェクトに取り組んでいます。次のコードを見つけました。
function getObjects(obj, key, val) {
var objects = [];
for (var i in obj) {
if (!obj.hasOwnProperty(i)) continue;
if (typeof obj[i] == 'object') {
objects = objects.concat(getObjects(obj[i], key, val));
} else if (i == key && obj[key] == val) {
objects.push(obj);
}
}
return objects;
}
ここで(適切なクレジットが与えられていることを確認するために)、これはうまく機能しますが、一度に複数の要素を検索する機能を含めるためにこのコードの機能を拡張するための助けを探しています。 、返される同じオブジェクト内の他の値を表示します。例として、上記のコードを使用すると、戻り値は単純に [Object] になります。
私が望んでいたのは、[>Object] に Object の別の変数値 (おそらく ID または説明) を追加することでした。どちらも返される結果の一部です。したがって、望ましい結果は、「Object: ID=b01」または「Object: Desc = This is Maple」のようなものになり、ユーザーがどの結果を見る必要があるかをすぐに確認できるようになります。
よろしくお願いいたします。