美国上市公司,专注Java培训21年

javascript编程代码笔记


1. 快速排序算法

  1. 方法一

function quicksort(n,left,right){ var p; if(left<right){
    p = position(n,left,right);
    quicksort(n,left,p-1);
    quicksort(n,p+1,right);
  }
}function position(n,left,right){ var temp = n[left]; while(left<right){ while(left<right&&n[right]>temp)
      right--; if(left<right)
      n[left++]=n[right]; while(left<right&&n[left]<temp)
      left++; if(left<right)
      n[right--]=n[left];
  }
  n[left]=temp; return left;
}var a =[50, 32, 11, 16, 32, 24, 99, 57, 100];
quicksort(a,0,a.length-1)console.log(a);
  1. 方法二

function quickSort(arr,left,right){ var p; if(left<right){
    p=position(arr,left,right);
    quicksort(arr,left,p-1);
    quicksort(arr,p+1,right);
  } function position(arr,left,right){ var temp=arr[left]; while(left<right){ while(left<right&&arr[right]>temp) right--; if(left<right) arr[left++]=arr[right]; while(left<right&&arr[left]<temp) left++; if(left<right) arr[right--]=arr[left];
    }
    arr[left] =temp; return left;
  }
}

2. 深度克隆clone(继承)

var cloneObj = function(obj){ var str, newobj = obj.constructor === Array ? [] : {}; if(typeof obj !== 'object'){ return;
    } else if(window.JSON){
        str = JSON.stringify(obj), //系列化对象 newobj = JSON.parse(str); //还原 } else { for(var i in obj){
            newobj[i] = typeof obj[i] === 'object' ? 
            cloneObj(obj[i]) : obj[i]; 
        }
    } return newobj;
};//测试var obj = {a: 0, b: 1, c: 2};var arr = [0, 1, 2];//执行深度克隆var newobj = cloneObj(obj);var newarr = cloneObj(arr);//对克隆后的新对象进行成员删除delete newobj.a;
ewarr.splice(0,1);console.log(obj, arr, newobj, newarr);
结果: {a: 0, b: 1, c: 2}, [0, 1, 2], {b: 1, c: 2}, [1, 2];
*/

【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • 深入浅出妙用 Javascript 中 apply、call、bind
    深入浅出妙用 Javascript 中 apply、call、bind
    网上文章虽多,大多复制粘贴,且晦涩难懂,我希望能够通过这篇文章,能够清晰的提升对apply、call、bind的认识,并且列出一些它们的妙用加深记忆,希望对大家有所帮助。 详情>>

    2015-10-12

  • javascript编程代码笔记
    javascript编程代码笔记
    javascript编程代码笔记:快速算法 详情>>

    2015-10-12

  • Java开班时间

    收起