JavaScript 数组及冒泡排序
Posted 汐风雪夜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 数组及冒泡排序相关的知识,希望对你有一定的参考价值。
数组的定义方法:JS里数组可以理解为一种数据的组合,在JS里可以存多种类型的东西。
三种定义方式 设置数组变量名为arr。
1. var arr = Array();或var arr = new Array();
2. var arr = Array(‘a‘,‘b‘,‘c‘); 存入了字符串
3. var arr =[‘a‘,‘b‘,‘c‘];
对其赋值方式,以var arr = Array();为例
var arr = Array();
arr[0] = ‘a‘ ;
arr[1] = ‘b‘ ;
arr[2] = 999;
中括号内等于一个KEY,后面的就是其对应的值。
数组单个取值方式:以上面的设置为条件
alert(arr[2]); 可以直接取出他的值
数组遍历:用for循环可以遍历
arr.push(‘666‘); ← .push(‘666‘); 单词带括号是针对对象的方法
alert(arr.length); ← .lengh是变量arr这个对象的属性,属性名称是长度
第一种遍历方法: 存的字符串取值不显示
for(var i=0;i<arr.length;i++){
alert(arr[i]);
}
第二种遍历方法:存的字符串取值可以显示
for(var i in arr) {
alert(arr[i]);
}
遍历查询:
var arr = [1,2,3,4,5,6,7,8]
var x = parseInt(prompt(‘请输入查询内容‘));
var status = 1;
for(var i = 0;i<arr.length;i++){ ←i是索引值,从0开始
if(arr[i] == x)
{
alert(i);
break;
}
}
变量交换:把两个变量的值互换
变量交换必须有一个临时的定义temp,不需要赋值
var a = 1;
var b = 2;
var temp;
temp = a; 先把a放到临时的temp里
a = b; 再把b放入a内
b = temp; 最后把temp里的a放入b,从而达到ab内的值互换
冒泡排序:打乱顺序的数字进行从小到大排序的运行方式
设定数组
var arr = [3, 2, 5, 1, 4];
第一轮比对,从第一个数字本身开始(本身索引位置是0)跟第二个数字进行比对,并且挨个跟后面的数字循环比对
0
for(var j = 1; j < arr.length; j++) {
if(arr[0] > arr[j]) { ←自身索引位置数值大于J的索引值进行交换
var temp;
temp = arr[0];
arr[0] = arr[j];
arr[j] = temp;
}
}
第二轮比对,从第二个数字本身开始(索引位置是1)跟第三个数字进行比对,并且挨个跟后面的数字循环比对
1
for(var j = 2; j < arr.length; j++) {
if(arr[1] > arr[j]) {
var temp;
temp = arr[1];
arr[1] = arr[j];
arr[j] = temp;
}
}
第三轮比对,从第三个数字本身开始(索引位置是2)跟第四个数字进行比对,并且挨个跟后面的数字循环比对
2
for(var j = 3; j < arr.length; j++) {
if(arr[2] > arr[j]) {
var temp;
temp = arr[2];
arr[2] = arr[j];
arr[j] = temp;
}
}
得出方式结论:
i是索引值,从自身0开始,而且小于长度,然后递增
J是需要比对的数字,他是从i后面开始进行比对的
for(var i = 0; i < arr.length; i++) {
for(var j = i+1; j < arr.length; j++) {
if(arr[i] > arr[j]) {
var temp;
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
得出公式后最后按顺序输出即可
for(var x in arr){
alert(arr[x]);
}
以上是关于JavaScript 数组及冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章
shell脚本——数组的应用及排序算法(冒泡直接反转希尔排序)