我将一组选项作为对象传递:
var options={
sortRules:[
{...}, // rule 1
{...}, // rule 2
// etc.
],
filterRules:[
{...}, // rule 1
{...}, // rule 2
// etc.
],
etc.
};
我的问题:如果任何规则包含“encodedName”属性,我需要通过 Web 服务尽快检索代码字典。如果没有传递“encodedName”属性,则不需要字典。
检查此对象层次结构中是否存在“encodedName”属性的最有效方法是什么?循环遍历所有对象和子对象听起来很痛苦,我想知道是否有更快的方法。
[编辑]:也许我应该提到我的另一个想法:使用 JSON.stringify 将对象转换为字符串,然后使用 indexOf 搜索"encodedName"
. 我不确定它是否比子对象迭代更有效。