蘑菇街一电话面试1
說(shuō)說(shuō)你常用的技術(shù)棧?
ajax解決跨域問題的方法?jsonp的主要實(shí)現(xiàn)原理?
點(diǎn)擊頁(yè)面某個(gè)按鈕,將原本一行顯示的內(nèi)容分成兩行,如何實(shí)現(xiàn)?
怎樣實(shí)現(xiàn)段首縮進(jìn)?值是什么?
如何實(shí)現(xiàn)文本限制顯示兩行,多出來(lái)的用省略號(hào)表示?
js ‘== ’ 和 ‘===’ 舉個(gè)栗子 ?
js數(shù)組去重的方法(至少說(shuō)三種ES6 set,雙層遞歸,排序后與左右兩邊進(jìn)行比較)
js中 字符串 數(shù)值 ‘3’ 3 字符串-數(shù)值’3‘-3 字符數(shù) ’a‘ 3 = NaN
數(shù)組去重
方法一:先排序,后去重
function delSame (arr){var arr1 = arr.sort();var res =[arr1[0]];var len = arr1.length;for(var i=1;i<len;i ){if(arr1[i]!==res[res.length-1]){res.push(arr1[i]);}}return res; }console.log(delSame([2,4,1,4]));res保存原數(shù)組的第一個(gè)數(shù)值,然后從arr中第二位開始的數(shù)字開始,和res中已經(jīng)保存的數(shù)字進(jìn)行比較,如果不重復(fù),就把a(bǔ)rr[i]加入res數(shù)組中去。
方法二:
Array.prototype.unique=function(){var res = [];var json = {};for(var i=0;i<this.length;i ){if(!json[this[i]]){res.push(this[i]);json[this[i]]=1;}}return res; }; var arr = [112,112,34,'你好',112,112,34,'你好','str','str1']; console.log(arr.unique());1.如果arr[i]是第一次出現(xiàn),就把它當(dāng)做對(duì)象的屬性,并賦值為1;
2.繼續(xù)遍歷,每次去對(duì)象中找arr[i],如果存在這個(gè)屬性,說(shuō)明重復(fù)了;否則,將它加入對(duì)象并給新屬性賦值為1,再推入res[]中
更多專業(yè)前端知識(shí),請(qǐng)上 【猿2048】www.mk2048.com
總結(jié)
- 上一篇: 如何将h5网页改成微信网页
- 下一篇: babel安装