数组去重复效果 冒泡排序 js自带的sort排序方法
1、数组去重复效果
function dd(uu){
for (var t=0;t<uu.length;t++) {
//让i号元素去跟它后面的元素进行比较
//循环i号元素后面的元素,让后面的元素挨个的和i号进行比较
for (var c=t+1;c<uu.length;c++) {
if (uu[t]==uu[c]) {
//如果有相同的就,删除(后面的)c号元素
//从c号开始删除一个
uu.splice(c,1);
//用一个--(放在后面是无私,先结果,后自减1)
c--; //因为有相同的会删除后,后面的补位上去会漏算,用c--就是删除后,补位上去再算一次删除的
}
}
}
return uu;
}
var ee =['a','b','a','a','a','t','y','e','d','s','t','a','h','b','m','w','c','y'];
var kk =dd(ee);
document.write(kk);
</script>
2、冒泡排序
下面这个示意图展示了冒泡排序的工作过程:
//冒泡排序法
function dd(yy){
for (var w=0;w<yy.length-1;w++) {
//(两个数 两两对比)6个数比5次,7个数比6次 所以yy.length-1
//也可以这样理解,因为数是从0开始的,6个数就是0至5对比,7个数就是0至6对比
for (var t =0;t<yy.length-1;t++) {
//将i号元素和i+1号元素进行对比,如果i号元素大于i+1号元素,就调换位置
if(yy[t]>yy[t+1]){
//先创建一个变量uu,先存上yy[i]元素的值
var uu = yy[t];
//然后把yy[i]的值改掉, 改成yy[i+1]
yy[t] = yy[t+1];
//然后再把yy[i+1]值改回刚才创建的uu身上的值,那样他们的位置就互换了
yy[t+1] = uu;
}
}
}
return yy;
}
//a = 1;
//b = 2;
//
//c = a;
//a = b;
//b = c;
var ss =[3,51,28,67,59,16,34,41];
var gg = dd(ss);
document.write(gg);
3、 js自带的sort排序方法
//var dd = [20,3,5,9,41,36,52,19];
////sort只会判断一个数字的第一字符
//var tt = dd.sort();
//document.write(tt);
//专门用来排序的函数!
function dd(x,y){
return x-y;
}
var ee = [20,3,5,9,41,36,52,19];
//把这个函数的名字传进来就行了,不用去运行它dd()
//数组排序 这个是js自带的,没有为什么
var tt = ee.sort(dd);
document.write(tt);
本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。
微信扫码关注
更新实时通知