Mit der folgenden Funktion kann man rekursiv ein Objekt in Javascript nach einem bestimmten Attribut durchsuchen. Das ganze auch noch ziemlich performant.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
function getRecursiveObject(theObject,property,id) { var result = null; if (theObject instanceof Array) { for (var i = 0; i < theObject.length; i++) { result = getRecursiveObject(theObject[i], property, id); if (result) { break; } } } else { for (var prop in theObject) { if (prop == property) { if (theObject[prop] == id) { return theObject; } } if (theObject[prop] instanceof Object || theObject[prop] instanceof Array) { result = getRecursiveObject(theObject[prop], property, id); if (result) { break; } } } } return result; } |
Login