在一个对象中找到目标元素,并且返回引用地址,值,和对象

发表于 JS 分类,标签:

/**

 * @author         wuwg

 * @param obj      检索的对象  (必须)

 * @param target   检索的目标   (必须)

 * @param objName  检索对象的名称 (必须)

 * @returns {*}

 */

 

var findTarget= (function(func){

return  function(obj,target,objName){   

// 声明返回的对象, 默认的关联url路径,和执行的查询的函数

var  _returnObj=[],_connect='',_func=func;   

_func(obj,target,objName,_connect,_returnObj,_func);

return _returnObj;

}

 })(


 /**

 * @function       匿名查询函数

 * @param obj     检索的对象  (必须)

 * @param target   检索的目标   (必须)

 * @param objName   检索对象的名称 (必须)

 * @param connect urlf关联 

 * @param _returnObj     返回值 

 * @param func     作为参数传递的函数 

 * @returns {*}

 */


 function (obj,target,objName,connect,_returnObj,func){  

var  _connect=connect;

var  _func=func;

   for(var _name in obj ){

  if(obj[_name]===target){  

// 添加到返回的结果总去

_returnObj.push({

url: objName+_connect+'.'+_name,

value:target,

obj:obj

});

}else if(typeof  obj[_name] =='object') {

//  执行下一次循环

func( obj[_name] ,target,objName,(_connect+('.'+_name)),_returnObj,  _func)

}else {

//  不管

}   

  } 

 });

 


0 篇评论

发表我的评论