(工具类)js根据属性递归对象数组获取对象

//根据字段递归对象数组获取对象
//list:遍历的对象,childKey:子集字段,key:匹配的字段,val:匹配的字段对应的值
export const getObjbyId = (list,childKey,key,val,result=[])=>{
  list.forEach(item => {
    if(item[key]===val){
      result.push(item);
    }
    if(item[childKey]&&item[childKey].length>0){
      getObjbyId(item[childKey],childKey,key,val,result)
    }
  });
  return result;
}
getObjbyId(MODELTREE, "children", "id", item)
//
[
  {
    id: 3409,
    label: "地层",
    tag: "e3m",
    realLayer: "guchengfanwei",
    position: [
      120.62823486328125, 31.276580810546875, 1592.906982421875,
    ],
    hpr: [-103.000214, 56.50013],
  },
]

通过递归深度遍历对象数组,根据对象属性查询对象信息;

猜你喜欢

转载自blog.csdn.net/weixin_43742167/article/details/129361850