1.排序
1) 冒泡排序法:
1.比较相邻的两个元素,如果前一个比后一个大,则交换位置。
2.第一轮的时候最后一个元素是最大的一个。
3.按照步骤一的方法进行相邻两个元素的比较,由于最后一个元素已经是最大的了,因此最后一个元素不用比较。
例1:
<script>
var arr = [10,20,5,8,21,100,99];
function test() {
for(var i = 0;i<arr.length;i++) {
for(var k = 0; k < arr.length-i-1; k++) {
if(arr[k]>arr[k+1]){
var temp = arr[k+1];
arr[k+1] = arr[k];
arr[k] = temp;
}
}
}
document.write(arr);
}
test();
</script>
2) sort排序:
例2:
<script>
var a=[10,20,5,8,21,100,99];
a.sort(function(n1,n2){
return n1-n2;
});
document.write(a);
</script>
2.数组去重:
例3:
字符串去重
<script>
var str="aaabccdeeeeeeff";
var str1=str.split("");
var a=[];
for(i=0;i<str1.length;i++) {
a.push(str1[i]);
var count = 1;
for (k = i; k < str1.length - 1; k++) {
if (str1[i] == str1[k + 1]) {
count++;
str1.splice(k + 1, 1);
k--;
}
}
}
console.log(a);
</script>
例4:
数字去重(先排序)
//数字去重:
// 输入: [1,13,24,11,11,14,1,2]
// 需要去掉重复的11 和 1 这两个元素
var a=[1,13,24,11,11,14,1,2];
a.sort(function(n1,n2){
return n1-n2;
});
var b=[];
for(i=0;i<a.length;i++) {
b.push(a[i]);
var count = 1;
for (k = i; k < a.length - 1; k++) {
if (a[i] == a[k + 1]) {
count++;
a.splice(k + 1, 1);
k--;
}
}
}
console.log(b[i]);
例5:
不需要借助第三个临时变量,实现两个变量的交换:
var a=10;
var b=20;
a=a+b;
b=a-b;
a=a-b;
console.log(a);
console.log(b);