1.js原生算法,不用递归,查找dom中所有自定义标签TagName以
<script>
// 获取全部元素的dom
var st = document.getElementsByTagName('*')[0].innerHTML;
// 正则表达式
var bs = /<com-.*>.*<\/com-.*>/g;
// 正则判断将字符串使用match方法分成数组
var res = st.match(bs);
console.log(res);
</script>
2.写一个函数将多维数组转化为二维对象
// 封装一个函数,使得对象obj转换后的结果为objTo的形式
var obj = {
"data": {
"err": 1,
"msg": "错误"
},
"list": ["a", "b"],
"request_id": "geo5-esd1-efor-veuq"
};
var objTo = {
"data.err": 1,
"list.0": "a",
"list.1": "b",
"reuqest_id": "geo5-esd1-efor-veuq"
};
使用js
function toObj(obj){
var newobj = {};
for(let pro in obj){
// 判断是不是数组
if(typeof obj[pro]== 'array'){
for(let i = 0; i < obj[pro].lenght; i++ ){
newobj[pro+'.'+i] = obj[pro][i];
}
}else if(typeof obj[pro]== 'object'){
for(let j in obj[pro]){
if(obj[pro][j]=='错误'){
}else{
newobj[pro+'.'+j] = obj[pro][j];
}
}
}else{
newobj[pro] = obj[pro]
}
}
return newobj;
}