亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

一個js面試題

一個js面試題

慕桂英546537 2018-07-31 13:57:36
事情是這樣的,作為一個應屆生小菜,前些天去人人網面試了面試官給出了一個題:js實現:一個數組,把奇數放到右邊,偶數放到左邊,不許使用額外空間。于是我開始思考,其實如果能使用額外空間的話,額外申請一個數組,根本不是問題。也想過類似于排序的交換方法,可是交換也需要額外的臨時變量tmp不是咩?而且js好像也沒有類似于C語言swap的方法啊于是我這樣:但是面試官邊玩手機邊用余光瞥了一眼,繼續玩手機,然后又瞥了一眼,終于開口說:你知道從數組中間刪除一個元素,splice的運行代價有多大嗎?所以該怎么做呢?
查看完整描述

3 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

Array.prototype.swap = function(a, b) {

    this[a] ^= this[b];

    this[b] ^= this[a];

    this[a] ^= this[b];

}

Array.prototype.OddSort = function() {

    for (var i = this.length - 1; i > 0; --i) {

        for (var j = 0; j < i; ++j)

            if (this[j] & 1)

                this.swap(j, j + 1);

    }

}

var arr = [2, 4, 77, 788, 2, 0, 99, 10];

arr.OddSort();

console.log(arr)


查看完整回答
反對 回復 2018-08-04
?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

一句話arr.sort(function(a,b){return a%2!==0})

查看完整回答
反對 回復 2018-08-04
  • 3 回答
  • 0 關注
  • 1157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號