通过键查找嵌套数组中的对象
在处理复杂的嵌套数据结构时,通常需要根据钥匙。这可能具有挑战性,尤其是当数据嵌套很深时。
递归来救援
递归允许我们通过将嵌套数据分解为更小的数据来导航它。可管理的块。这是一个递归函数,可以查找具有给定键的对象:
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) { 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 为 1 的对象示例嵌套数组:
var myArray = [{ 'title': "some title", 'channel_id': '123we', 'options': [{ 'channel_id': 'abc', 'image': 'http://asdasd.com/all-inclusive-block-img.jpg', 'title': 'All-Inclusive', 'options': [{ 'channel_id': 'dsa2', 'title': 'Some Recommends', 'options': [{ 'image': 'http://www.asdasd.com', 'title': 'Sandals', 'id': '1', 'content': { // ... } }] }] }] }]; var result = getObject(myArray); console.log(result); // prints the found object
以上是如何使用递归按键查找嵌套数组中的对象?的详细内容。更多信息请关注PHP中文网其他相关文章!