自定义方式 获取json数组对象中的值

mac2024-04-14  55

案例:通过 ${data[0][‘sys_user.user_id’]} 这样的方式从数组对象中获取值 本案例返回的是html字符串 并且返回以以替换后的值

//data = {ob:Observer} // {data:Array(1)} {sys_user.usser_id:‘1’,sys_user.user_name:‘admin’}

function getJsoinDataFromStr(data,str){

let html = str;// like …

${data[0][‘sys_user.user_id’]} let matchs = str.match(/${[a-zA-Z._0-9-[]’"]]+}/g) // matchs=["${data[0][‘sys_user.user_id’]}"] let myData= Object.assign({},data)

myData.data = data

window.cusRenderData = data if(matchs){ matchs.forEach(item => { // item = ${data[0][‘sys_user.user_id’]} let keyNames = ‘cusRenderData.’+ item.slice(2,-1) html = html.replace(item.eval(keyNames)) }) }

delete window.cusRenderData return html }

注意 “${data[0][‘sys_user.user_id’]}”.slice(2,-1) 返回的值为data[0][‘sys_user.user_id’]

使用eval(keyNames) 函数可以将keyNames中的数据计算出来

最新回复(0)