JS中如何让数组保持一定数据而可以更新新的数据。懂的进

JavaScript018

JS中如何让数组保持一定数据而可以更新新的数据。懂的进,第1张

似乎不太好解决,B数据中需存下当前时间.

<html>

<head>

<title>JS OBJECT STUDY</title>

<script>

//保持数组长度为10,当放第十一个元素的时候,原数组中的最老元素将被取代

function MyArray(){

this.array=new Array()//存放元素

this.pushTime=new Array()//存放时间

}

MyArray.prototype.push=function(obj){

var ctime=new Date().getTime()

if(this.array.length>=10){

//拷贝数组

var pt=this.pushTime.concat("")

//对数组排序

pt.sort()

var index=0

//寻找最老元素的下标

for(var i=0i<this.pushTime.lengthi++){

if(this.pushTime[i]==pt[0]){

index=i

break

}

}

//将最老元素替换

this.array.splice(index,1,obj)

this.pushTime.splice(index,1,ctime)

}else{

this.array.push(obj)

this.pushTime.push(ctime)

}

}

MyArray.prototype.pop=function(){

this.pushTime.pop()

return this.array.pop()

}

var a=new MyArray()

a.push("I")

a.push("love")

a.push("you")

a.push(",")

a.push("gao")

a.push("yuan")

a.push("hong")

a.push("ceng")

a.push("jing")

a.push("!")

a.push("ly")

alert(a.array)

alert(a.pop())

</script>

</head>

<body>

</body>

</html>

可以设置随机函数,取值范围是1-100的整数,那么我们认为1-100中每个数字出现的概率相等都是1%,你可以每次调用一下这个函数(随机函数很简单,网上查一下都有)

然后当返回值在1-90中间时,你就认为出现的是a,91-95对应的是b,96-100对应的是c

你只要作一个简单的映射就行,用if else来判断,转换下返回结果就能满足你的要求

代码我就不写了

给你一个思路。

随机产生随机数的概率你是改变不了的。但是显示出来的数字是可以控制的。根据比如随机生成

1---100

然后1-5时是显示1折,这样就是百分之5概率。

其他的一样。