1.缓存去重
function set(arr){
var map = {}
if(arr&&Array.isArray(arr)){
for(var i=arr.length;i>=0;i--){
if(arr[i] in map){
arr.splice(i,1)
}else{
map[arr[i]]=true
}
}
}
return arr
}
2.用逗号没三位切割一次数字,不考虑小数,负数
var arr=[]
function main(num){
if(num===null)return
var s = parseInt(num).toString()
ss(s)
}
function ss(s){
if(s.length>3){
arr[arr.length]=s.slice(-3)
ss(s.slice(0,-3))
}else{
arr[arr.length]=s
}
}
main(123456789)
console.log(arr.reverse().join(","))
3.无重复子串
function StrLen(str){
var strbak=''
var result=1
var len = str.length
for(var i = 0;i < len; i++){
var strcurr = str.charAt(i)
var index = strbak.indexOf(strcurr)
if(index === -1){
strbak=strbak+strcurr
result=result<strbak.length?strbak.length:result
}else{
strbak=strbak.substr(index+1)+strcurr
}
}
return result
}
console.log(StrLen("abcbb"))
4.大数相加
function func(){
var a='123123231231234444435'
var b='4342356556455454543'
var n1=a.length
var n2=b.length
for(let i=0;i<Math.max(n1,n2)-Math.min(n1,n2);i++){
if(n1>n2) b='0'+b
if(n1<n2) a='0'+a
}
a=a.split('').reverse()
b=b.split('').reverse()
var n=Math.max(n1,n2)
var result=Array.apply(this,Array(n)).map((item,i)=>{
return 0;
})
for(let k=0;k<n;k++){
var temp=parseInt(a[k])+parseInt(b[k])
if(temp>9){
result[k]+=temp-10
result[k+1]=1
}else{
result[k]+=temp
}
}
console.log(result.reverse().join('').toString())
}
func()
5.出现次数最多的字符
var s="addddcccee"
var arr=[]
var count=0
var key=''
function reset(s){
return s.split("").filter((v,i,a)=>{
return a.indexOf(v)===i
})
}
arr=reset(s)
for(var i=0;i<arr.length;i++){
var n = s.split(arr[i]).length-1
if(n>count){
count=n
key=arr[i]
}
}
console.log(count,key)
6.第n位是什么
var k="12313421543"
function getNum(n){
console.log(k.charAt(n%k.length-1))
}
getNum(3)
7.解析url返回对象
function parseQueryString(url){
var pos = url.indexOf("?")
var obj={}
if(pos!=-1){
var urlstring=url.slice(pos+1)
var urlArr=urlstring.split("&")
var keyValue=[]
for(var i=0;i<urlArr.length;i++){
keyValue =urlArr[i].split("=")
obj[keyValue[0]]=keyValue[1]
}
}
return obj
}
8.字符串翻转,去除特殊字符
function palindrome(str){
var str1=str.replace(/[^0-9a-zA-Z]/g,'').toLowerCase()
var str2=str1.split("").reverse().join('')
if(str1===str2){
return true
}else{
return false
}
}
console.log(palindrome("adfs12.,/1231SDFS"))
9.首字母大写
function palindrome(str){
var str1=str.replace(/[^0-9a-zA-Z]/g,'').toLowerCase()
var str2=str1.split("").reverse().join('')
if(str1===str2){
return true
}else{
return false
}
}
console.log(palindrome("adfs12.,/1231SDFS"))
网友评论