双色球
在我们写程序的时候,很多案例会用到数组去重那么下面小编来写一下:
var flag = false
var a = 0
var arr = []
function findIarry(a){
if(a.length!=0){
for(var i=0;i<a.length;i++){
if(a==a[i]){
flag=true
break
}else{
flag=false
}
}
}else{
flag=false
}
return flag
}
while(true){
a++
if(a>5){
break
}
var rnd=parseInt(Math.random()*31+1)
if(!findIarry(arr)){
var b=arr.push(rnd)
}
}
document.write(arr)
首先我们写了一个while循环然后让他循环5次,我们创建了一个随机数rnd值为1-32之间然后我们封装了一个名为finInarry这个函数的主要作用是去重当我们第一次进行传参的时候参数为0返回来的是false然后我们用!反向所以为true然后第arr就添加了一个随机数rnd第二次arr.length不等于0了执行if然后在里面判断第二次创建的rnd等于上一个rnd如果不等于flag=false然后这个函数返回false那么arr继续push直到循环执行6次如果函数返回true那么线面的判断不执行。
小编感觉上面的程序写的太繁琐优化了一下代码:
var arr=[]
function rnd(a,b){
return parseInt(Math.random()*b+a)
}
function findInarry(c,d){
for(var i=0;i<c.length;i++){
if(c[i]==num){
return true
}
}
return false
}
for(var i=0;i<6;i++){
var num=rnd(1,31)
if(!findInarry(arr,num)){
arr.push(num)
}
}
document.write(arr)
字符串转json
json我们前端每天都要调的数据,但有的时候我们需要在前端获取了数据需要往后端发以json的形式返回,废话不说直接上代码:
var str='a=1,b=2,c=3'
var arr=str.split(',')
var json={}
for(var i=0;i<arr.length;i++){
var arr2=arr[i].split('=')
json[arr2[0]]=arr2[1]
}
document.write(json)
首先我们声明了一个字符串然后用字符串中split方法把他分割成数组,再循环里面把等号给去了直接给json赋值。
json转换为字符串
在上面小编展示了把字符串转换成json那么在这里小编想把json转换为字符串怎么做呢看下面代码:
var json={name:‘小明’,age:18,job:老师}
var arr=[]
function jsonurl(json){
for(var i in json){
arr.push(i+'='+json[i])
}
return arr.join(',')
}
document.write(jsonurl(json))
网友评论