使用交换律
r为0~i的随机索引
索引为i的数据和索引为r的数据进行交换,循环len个长度进行交换,也就是说交换len次
类似冒泡排序法
var a = [3,2,13], len = a.lengthfor(var i = 0 i < len i++){
for(var j = i + 1 j < len j++){
if(a[i] > a[j]){
// 把a[i]先存储到tmp中
var tmp = a[i]
//然后把a[j]存储到a[i]
a[i] = a[j]
//原来的a[i]就是tmp,存储到a[j],这样就换过来了
a[j] = tmp
}
}
}
看来你还不会冒泡排序法
只不过少了个for循环,j换成了随机的r,从而实现了洗牌功能。
方法/步骤
新建一个html文件,命名为test.html,用于讲解JavaScript如何比较两个数组的内容是否相同。
请点击输入图片描述
在js标签内,使用“[]”创建两个数组,分别保存在变量a和变量b中。
请点击输入图片描述
在js标签内,再创建一个变量temp,初始值为1,用于记录数组是否相同。当它为1时,表示两个数组相同,当它为0时,表示两个数组为不相同。
请点击输入图片描述
在js标签内,首先通过length属性分别获得两个数组的长度,使用if语句判断两个数组的长度是否相等,如果不相等,temp变量为0。
请点击输入图片描述
在js标签内,如果两个数组长度相等,则使用for循环遍历两个数组内的每一个元素,通过if语句逐个判断元素是否相等,若有数组元素不相等,temp变量为0。
请点击输入图片描述
在js标签内,使用if判断temp值,当temp为1时,使用alert()方法提示“两个数组相同”,否则,提示“两个数组不相同”。
请点击输入图片描述
在浏览器打开test.html文件,查看实现的效果。
请点击输入图片描述
//--------JS文件代码-------------------------------------------------var availableTags = [
"0-0-小美",
"0-4-小丽",
"0-5-小王"
]
把以上代码保存为 1.js
然后建立一个1.html
代码如下
<script type="text/javascript" src="1.js"></script>
<script type="text/javascript">
<!--
window.onload = function(){
var temp = ''
for(var i=0i<availableTags.lengthi++){
temp = temp + availableTags[i].replace('-','').replace('-',' ') + '<br>'
}
document.write(temp)
}
-->
</script>