// [].slice.call()方法将伪数组转化为数组
var tagNames = [].slice.call(document.querySelectorAll('*')).map(function (dom) {
return dom.tagName
})
var result = []
tagNames.forEach(v => {
if(result.indexOf(v) === -1){
return result.push(v)
}
})
console.log(result)
优化代码
// new Set() ES6新方法把伪数组转化为数组
var tagNames = [...new Set(document.querySelectorAll('*'))].map(v => v.tagName)
var result = []
tagNames.forEach(v => {
if(result.indexOf(v) === -1){
return result.push(v)
}
})
console.log(result)