- function removeDuplicate(arr) {
- var len = arr.length,
- temp = [];
- for (var i = 0; i < len; i += 1) {
- if (temp.indexOf(arr[i]) === -1) {
- temp.push(arr[i]);
- }
- }
- return temp;
- }
- function clone( Obj ) {
- var buf;
- if ( Obj instanceof Array ) {
- buf = []; //创建一个空的数组
- var i = Obj.length;
- while ( i-- ) {
- buf[i] = clone(Obj[i]);
- }
- return buf;
- }
- else if ( Obj instanceof Object ) {
- buf = {}; //创建一个空对象
- for ( var k in Obj ) { //为这个对象添加新的属性
- buf[k] = clone(Obj[k]);
- }
- return buf;
- }
- else {
- return Obj;
- }
- }
- function clone(obj) {
- var dest;
- switch (typeof obj) {
- case 'undefined':
- break;
- case 'number':
- dest = +obj;
- break;
- case 'string':
- dest = obj + '';
- break;
- case 'boolean':
- dest = obj;
- break;
- case 'object':
- if (obj instanceof Array) {
- dest = [];
- for (var i = 0; i < obj.length; i++) {
- dest[i] = obj[i];
- }
- } else {
- dest = {};
- for (var i in obj) {
- dest[i] = obj[i];
- }
- }
- default:
- break;
- }
- return dest;
- }
冒泡排序
- function quickSort(arr) {
- var left = [],
- right = [],
- len = arr.length,
- breakPoint = arr[0];
- if (len === 1 || len === 0) {
- return arr;
- }
- for (var i = 1; i < len; i++) {
- if (arr[i] < breakPoint) {
- left.push(arr[i]);
- } else {
- right.push(arr[i]);
- }
- }
- return quickSort(left).concat(breakPoint, quickSort(right));
- }
插入排序
- function bubbleSort(arr) {
- var len = arr.length,
- temp;
- for (var i = 0; i < len - 1; i++) {
- for (var j = 0; j < len - 1 - i; j++) {
- if (arr[j] > arr[j + 1]) {
- temp = arr[j];
- arr[j] = arr[j + 1];
- arr[j + 1] = temp;
- }
- }
- }
- return arr;
- }
- function insertSort(arr) {
- var len = arr.length,
- temp;
- for (var i = 1; i < len; i++) {
- var j;
- temp = arr[i];
- j = i;
- while (j > 0 && arr[j - 1] > temp) {
- arr[j] = arr[j - 1];
- j--;
- }
- arr[j] = temp;
- }
- return arr;
- }
- function removePlace(str) {
- var reg = /(^s*)|(s*)$/;
- if (str && typeof str === 'string') {
- return str.replace(reg, '');
- }
- }
- function charCount(str) {
- var obj = {},
- len = str.length,
- i = 0;
- for (; i < len; i++) {
- var val = str.charAt(i);
- if (obj[val] && obj[val].value === val) {
- obj[val].count++;
- } else {
- obj[val] = {};
- obj[val].count = 1;
- obj[val].value = val;
- }
- }
- for (var key in obj) {
- console.log(key + ' is ' + obj[key].count);
- }
- return obj;
- }
关于插件编写,可参考:jQuery插件库
来源: https://www.2cto.com/kf/201709/683492.html