我寫了一個氣泡排序函式來排列陣列中的數字,但是當我把陣列像[1,3]那樣放進去時,vscode和chrome給我的是
。識別器預期.javascript OR 未發現的語法錯誤。無效的結構化賦值目標
這里是完整的代碼
。function bubbleg(arr) {
var len = arr.length;
for (var i = 0; i < len - 1; i ) {
for (var j = 0; j < len - 1 - i; j ) {
if (arr[j] > arr[j 1] ) {
var temp = arr[j];
arr[j] = arr[j 1] 。
arr[j 1] = temp;
}
}
}
return arr;
}
function bubbleg([1, 3]);
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
在進行修改后,例如
num= [1, 3] function bubbleg(num)。
一切都很好,但為什么我們不能把類似bubbleg([1,3])的東西放進去?有什么書可以讓我在查找時有一些bug串列嗎?
uj5u.com熱心網友回復:
在呼叫你的函式時去掉函式關鍵字。function是用來宣告函式的關鍵字,而不是用來呼叫它。
function bubbleg(arr) {
var len = arr.length;
for (var i = 0; i < len - 1; i ) {
for (var j = 0; j < len - 1 - i; j ) {
if (arr[j] > arr[j 1] ) {
var temp = arr[j];
arr[j] = arr[j 1] 。
arr[j 1] = temp;
}
}
}
return arr;
}
bubbleg([1, 3] )。)
uj5u.com熱心網友回復:
這是因為你沒有正確地呼叫函式bubbleg
。function bubbleg([1, 2])
應該是
bubbleg([1,2] )
uj5u.com熱心網友回復:
這不是關于你傳遞的[1, 3]引數。而是你如何呼叫這個函式。
這里是正確的。
這里是正確的代碼:
。function bubbleg(arr) {
var len = arr.length;
for (var i = 0; i < len - 1; i ) {
for (var j = 0; j < len - i - 1; j ) {
if (arr[j] > arr[j 1] ) {
var temp = arr[j];
arr[j] = arr[j 1] 。
arr[j 1] = temp;
}
}
}
return arr;
}
console.log(bubbleg( [3,1] ) ;
<iframe name="sif2" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/326650.html
標籤:
