2014-12-05 56 views
-1

只是試圖在javascript中創建一個簡單的數組交換並且不斷收到錯誤。javascript數組交換功能

var a = [4,1,2,3]; 

function swap(x,y){ 
    var src=x; 
    var dest = y; 
    var tmp = a[src]; 
    a[x] = a[y]; 
    a[y] = tmp; 
    return a; 
} 

document.write(swap(0,1)); 

爲什麼這是行不通的?任何幫助讚賞。謝謝

+2

什麼錯誤?我沒有看到任何錯誤。 – 2014-12-05 11:26:40

+0

它確實有效。沒有看到任何錯誤。 – Leo 2014-12-05 11:27:42

+0

使用document.write()編寫不平衡樹,導致網絡中的數據被重新分區。欲瞭解更多信息https://developer.mozilla.org/en/Optimizing_Your_Pages_for_Speculative_Parsing – user3442983 2014-12-05 11:27:51

回答

0

你的功能似乎工作。您還可以將此swap方法添加到Array.prototype

Array.prototype.swap = function(pos1, pos2) { 
    this[pos1] = this.splice(pos2, 1, this[pos1])[0]; 
} 
// usage: 
var a = [1, 2, 3, 4].swap(0, 1); //=> [2,1,3,4] 
+0

謝謝你,現在工作。 – user3442983 2014-12-05 11:49:47