- 如何测试运行时间
- console.time(label) 和 console.timeEnd(label),
在开始的地方写上 console.time("测试 fn 速度: ") ,在结束的地方写上 console.timeEnd("测试 fn 速度: ")
注意:label 得相同
使用方法:
console.time('time');
function setHtmlTag(sameClassArr) {
// function findAssign(myAttr, replaceAtrr) {
// sameClassArr.forEach((itemOut, indexOut) => {
// sameClassArr[indexOut][myAttr] = sameClassArr.findIndex((itemIn, indexIn) => {
// return itemOut[replaceAtrr] && itemOut[replaceAtrr] == itemIn[replaceAtrr] && indexIn != indexOut
// }) != -1? itemOut[replaceAtrr].replace(itemOut[replaceAtrr],`<span class="highSpan">${itemOut[replaceAtrr]}</span>`): ''
// })
// }
// findAssign('myContacts', 'contacts')
// findAssign('myWxName', 'wxName')
// findAssign('myMobile', 'mobile')
// findAssign('myWx', 'wx')
let replaceArr = ['contacts', 'wxName', 'mobile', 'wx']
let sign = {contacts: {}, wxName: {}, mobile: {}, wx: {}}
sameClassArr.forEach(sameItem => {
replaceArr.forEach(replaceItem => {
let replaceNum = sign[replaceItem][sameItem[replaceItem]]
if(!replaceNum) {
sign[replaceItem][sameItem[replaceItem]] = 0
}
sign[replaceItem][sameItem[replaceItem]]++
})
})
sameClassArr.forEach((sameItem, index) => {
replaceArr.forEach(replaceItem => {
let replaceNum = sign[replaceItem][sameItem[replaceItem]]
if(replaceNum > 1) {
let replaceStr = sameClassArr[index][replaceItem]
let name = `my${replaceItem[0].toUpperCase()}${replaceItem.slice(1)}`
sameClassArr[index][replaceItem] = replaceStr? replaceStr.replace(replaceStr, `<span class="highSpan">${replaceStr}</span>`): replaceStr
}
})
})
return sameClassArr
}
function initSet(num) {
let arr = []
for (let index = 0; index < num; index++) {
arr.push({
wx: '12312312',
wxName: '2312312',
mobile: '2312312',
contacts: 'han'
})
}
return arr
}
let arr = initSet(40000)
setHtmlTag(arr)
console.timeEnd('time');
测试:
切到要测试文件的里:执行node ‘测试的文件名(记得加后缀)’ 【其实就是利用Node的V8引擎来执行】