我谦虚地请求帮助。我正在做一个项目,我需要设置一个搜索来查找所有实例,在一个特定值等于用户正在搜索的任何术语的对象内。我找到了以下代码:
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 或 Description,它们都是返回结果的一部分。因此,所需的结果将类似于“Object: ID=b01”或“Object: Desc = This is Maple”,这将允许我的用户快速查看他们需要查看的结果之一。
预先感谢您的协助!