通过原形添加方法:
==================数组去重(对象去重法)=======================
Array.prototype.unique=function(){
var res = [],
obj = {}; for (var i = 0; i < arr.length; i++) { if(!obj[this[i]]){ res.push(arr[i]); obj[this[i]] = 8; }};
return res;}
var arr = ['2','4','35','4','23','2'];
arr.unique() => ["2", "4", "35", "23"];
==================字符串去空格=======================
String.prorotype.trim = function(){
return this.replace(/^\s+|\s+$/g,'');
}
var str = " my script ";
str.trim() => "my script";
=========================二分法排序思路========================
var quickSort = function(arr) { if (arr.length <= 1) { return arr; } var pivotIndex = Math.floor(arr.length / 2); var pivot = arr.splice(pivotIndex, 1)[0]; // 找到中间数值,左右分别与该数字进行比较 var left = []; var right = []; for (var i = 0; i < arr.length; i++){ if (arr[i] < pivot) { left.push(arr[i]); } else { right.push(arr[i]); } } return quickSort(left).concat([pivot], quickSort(right)); //(递归方法:函数自身调用自身方法)};quickSort (arr);
=========================二分法排序思路========================
=================传入比较函数====================
function compare(a,b){
return b - a;}arr.sort(compare()).reverse();==================传入比较函数===================
============================================================
递归方法实现数组遍历arr1 = [2,3,[4,6,[1,8]],12,10];
var arrs = [];function getArr(arr){
for (var i = 0; i < arr.length; i++) {if(typeof (arr[i]) == "number"){
arrs.push(arr[i]);}else{
getArr(arr[i]); } }; } getArr(arr1);console.log(arrs) => [2,3,4,6,1,8,12,10]
============================================================
// ================求和===============
function sum(){
var num = 0; for(var i = 0; i < arguments.length; i ++){ num += arguments[i]; } return num; }
console.log(sum(2,3,8)) => 13