[1,2,3] {value:1,children:{value:2,children{value:3}}}
fun (childs = [], arr = [], finallydata = {}) {
if (arr.length > 0) {
let current = childs.filter((item) => item.value === arr[0])[0] || {}
let linsh = finallydata
linsh.text = current.text || current.label || current.value
linsh.label = current.label || current.text || current.value
linsh.value = current.value || current.text || current.label
if (arr.length !== 1) {
linsh.children = {}
}
arr.shift()
this.fun(current.children, arr, linsh.children)
}
}