key
でオブジェクトを知らずにvalue
を検索しようとしています。ネストされたオブジェクトを含めると、関数はキーとオブジェクトを取得し、値を返します。それは(そう願って...)、より効率的になりますので、私はループ内return
を呼び出すキーでオブジェクト値を検索して取得する
/* Iterate over object and include sub objects */
function iterate (obj, key) {
for (var property in obj) {
if (obj.hasOwnProperty(property)) {
//in case it is an object
if (typeof obj[property] == "object") {
if (obj.hasOwnProperty(key)) {
return obj[key]; //return the value
}
}
else {
iterate(obj[property]);
}
}
}
return undefined;
}
: は、これは私の関数です。
1.誰でもこの機能を使用できますか?これは動作しません。
2.誰かが変更する必要があることを知っていますか?
angular.js
などの機能はすべて役に立ちます。
ありがとうございました。
値がleve1.leve2.keyの場合、2つ以上のレベルでは機能しません。見つからない場合があります。 –
私はちょうど5つのレベルでそれをテストし、それは鍵を見つけました。 iterate({a:{b:{c:{d:{key:3}}}}、 "key"); – felipeptcho
うん。それは間違っていました。私は答えを更新しました。今すぐテストしてください。 – felipeptcho