js:

//index.js
constapp=getApp()

Page({
data:{
json:[{name:'eiolewkfp',age:'awdqwwdk',address:'aueifwhefwfheffoewjowef',aihao:['sdsd','sdfsd','sdsf']},{name:'98797',age:'6544656',address:'65494364'}],//可以是任何类型的数据
newJson:'',
tempText:''
},
onLoad:function(options){
this.setData({
newJson:this.data.json
})
},
digui:function(newJson,obj,key){//递归方法,来遍历最内层的字符串并通过正则来替换
varthat=this;
varreg=newRegExp(that.data.tempText,'g');
if(newJson.constructor==Array){
newJson.forEach(function(item,index){
if(item.constructor==String){
obj[key].splice(index,1,item.replace(reg,""+that.data.tempText+""))
}else{
that.digui(item,newJson);
}
});
}elseif(newJson.constructor==Object){
varjson={};
for(varkeyinnewJson){
json[key]=newJson;
that.digui(newJson[key],newJson,key);
}
}elseif(newJson.constructor==String){//这里做全局替换
if(key){
obj[key]=newJson.replace(reg,""+that.data.tempText+"")
}
}
},
bindKeyInput:function(e){//每次输入来监听键盘,处理匹配的数据
vartext=e.detail.value;
this.setData({
tempText:text
})
varnewJson=JSON.parse(JSON.stringify(this.data.json));//实现深复制

this.digui(newJson);
this.setData({
newJson:newJson
})
}

})

源代码地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。

热门推荐

免责声明:网站资源来源于网络,如有侵权,请及时联系删除。

Copyright © 2024 微客导航网. All Rights Reserved.

蜀ICP备2021004611号-4 网站地图