例如数组: <code>var arr = [35,2,1,2,10,2,3,5,10,13]</code>
1.将数组转换为对象
var toObject = function (arr) { var obj = {}// 声明一个对象容器 var jfor(var i = 0j = arr.length, i<ji++){ //将数组中的值作为对象的键,然后给个值 obj[arr[i]] = true} return obj}
2.将对象转化为数组
function keys(obj){ var arr = []// 私有对象 for(var attr in obj) { // 判断对象是否有attr属性 if(obj.hasOwnProperty(attr)){ arr.push(attr)// 将对象属性的键放到数组中 } } return arr}
3.调用这两个方法
function uniq(newArr) { return keys(toObject(newArr))}
这样就可以把数组中重复的数字去掉了。
使用<code>alert(uniq(arr))</code>测试一下
<html><head>
<title>change BG color</title>
</head>
<script>
function btnAction(){
var temp
var temp1=new Array()
var x=0
var pr
temp=[1,2,4,4,5,6,8,8,9]
for(var i=1i<10i++)
{
if(x!=0){
for(var l=0l<temp1.length+1l++){
if(temp1[l]==temp[i-1]){
pr=false
returnFunction(pr)
return
}
}
}
temp1[x]=temp[i-1]
x++
pr=true
}
}
function returnFunction(pr)
{
alert(pr)
}
</script>
<body>
<input type="button" value="选择" onclick="btnAction()" id="xz"/>
</body>
</html>
代码如下:
// 纯手打,不谢。var randoms=[]
while (true)
{
var isExists = false
// 获取一个10–100范围的数
var random = parseInt(10 + (90 - 10) * (Math.random()))
// 判断当前随机数是否已经存在
for (var i = 0 i < randoms.length i++) {
if (random === randoms[i]) {
isExists = true
break
}
}
// 如果不存在,则添加进去
if (!isExists)
randoms.push(random)
// 如果有10位随机数了,就跳出
if (randoms.length === 10)
break
}
结果图:
关于js
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。