js基礎(chǔ)算法

排序

排序有很多種算法,這里只寫基本的冒泡排序和快速排序

// 冒泡排序有兩種
// 一種是依次比較相鄰兩個數(shù)字消玄,如果前一個比后一個大宝冕,就交換位置暴备,這樣最后一位一定是最大的龙亲,依此類推
function bubbleSort(ary) {
  for (let i = 0, len = ary.length; i < len - 1; i++) {
    for (let j = 0; j < len - 1 -i; j++) {
      if (ary[j] > ary[j + 1]) {
        let temp = ary[j];
        ary[j] = ary[j + 1];
        ary[j + 1] = temp;
      }
    }
  }
  return ary;
}

// 一種是比較第一位與其他位的數(shù)字谜洽,如果第一位大于其他位的數(shù)字羔巢,就交換位置望忆,這樣第一位一定是最小的罩阵,
// 依此類推
function bubbleSort2(ary) {
  for (let i = 0, len = ary.length; i < len - 1; i++) {
    for (let j = i + 1; j < len; j++) {
      if (ary[i] > ary[j]) {
        let temp = ary[i];
        ary[i] = ary[j];
        ary[j] = temp;
      }
    }
  }
  return ary;
}

// 快速排序
function quickSort(ary) {
  if (ary.length <= 1) {
    return ary;
  }
  var index = Math.floor(ary.length / 2);
  var num = ary.splice(index, 1)[0];
  var left = [], right = [];
  for (let i = 0, len = ary.length; i < len; i++) {
    if (ary[i] < num) {
      left.push(ary[i]);
    } else {
      right.push(ary[i]);
    }
  }
  return quickSort(left).concat([num], quickSort(right));
}

去重

這里寫三種方法

// 借助indexOf方法遍歷
function unique(ary) {
  var res = [];
  for (let i = 0, len = ary.length; i < len; i++) {
    let num = ary[i];
    if (res.indexOf(num) == -1) {
      res.push(num)
    }
  }
  return res;
}

// 最快的
function unique1(ary) {
  var obj = {}, res = [];
  for (let i = 0, len = ary.length; i < len; i++) {
    let num = ary[i];
    if (!obj[num]) {
      obj[num] = true;
      res.push(num);
    }
  }
  return res;
}

// 借助sort方法排序,然后只比較相鄰數(shù)字是否一樣
function unique2(ary) {
  ary.sort();
  var res = [ary[0]];
  for (let i = 1, len = ary.length; i < len; i++) {
    if (ary[i] !== res[res.length - 1]) {
      res.push(ary[i]);
    }
  }
  return res;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末启摄,一起剝皮案震驚了整個濱河市稿壁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌歉备,老刑警劉巖傅是,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蕾羊,居然都是意外死亡喧笔,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門龟再,熙熙樓的掌柜王于貴愁眉苦臉地迎上來书闸,“玉大人,你說我怎么就攤上這事吸申」=伲” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵截碴,是天一觀的道長梳侨。 經(jīng)常有香客問我,道長日丹,這世上最難降的妖魔是什么走哺? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮哲虾,結(jié)果婚禮上丙躏,老公的妹妹穿的比我還像新娘。我一直安慰自己束凑,他們只是感情好晒旅,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著汪诉,像睡著了一般废恋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上扒寄,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天鱼鼓,我揣著相機(jī)與錄音,去河邊找鬼该编。 笑死迄本,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的课竣。 我是一名探鬼主播嘉赎,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼置媳,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了曹阔?” 一聲冷哼從身側(cè)響起半开,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎赃份,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奢米,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡抓韩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了鬓长。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谒拴。...
    茶點(diǎn)故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖涉波,靈堂內(nèi)的尸體忽然破棺而出英上,到底是詐尸還是另有隱情,我是刑警寧澤啤覆,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布苍日,位于F島的核電站,受9級特大地震影響窗声,放射性物質(zhì)發(fā)生泄漏相恃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一笨觅、第九天 我趴在偏房一處隱蔽的房頂上張望拦耐。 院中可真熱鬧,春花似錦见剩、人聲如沸杀糯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽固翰。三九已至,卻和暖如春柒啤,著一層夾襖步出監(jiān)牢的瞬間倦挂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工担巩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留方援,地道東北人。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓涛癌,卻偏偏與公主長得像犯戏,于是被迫代替她去往敵國和親送火。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1.實戰(zhàn)翻轉(zhuǎn)字符串算法 2.計算所提供整數(shù)的階乘。 如果使用字母n代表一個整數(shù)呀非,則階乘是所有小于或等于n的整數(shù)的乘...
    小包da人閱讀 284評論 1 0
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,116評論 25 707
  • 程落落決定赴死頑抗到底坚俗,硬著頭皮說:“傅姐,我覺得這個寶石鑲邊有些多余岸裙,完全沒法體現(xiàn)寶石本身的美感猖败。” 傅蘇坐在辦...
    竹舟出品閱讀 619評論 2 12
  • 我一個人行走在秋日午后的林間小路降允,秋涼漸濃恩闻,綠蔭已經(jīng)不在,只有零星的倔強(qiáng)的枯黃葉子掛在枝頭剧董,隨著清冷的風(fēng)舞動幢尚。 如...
    閑庭絮閱讀 567評論 12 11
  • 裴度在憲宗、穆宗翅楼、敬宗尉剩、文宗四朝歷任顯職,三度拜相犁嗅,又被五次排擠出朝廷边涕。憲宗去世后,好不容易解決的藩鎮(zhèn)問題在穆宗...
    禹音閱讀 329評論 1 1