首页 > 解决方案 > 像 [1,3] 这样的数组给出错误“未捕获的语法错误:无效的解构赋值目标”

问题描述

我写了一个冒泡排序函数来排列数组中的数字,但是当我把数组像 [1,3] 时,vscode 和 chrome 给了我

Identifier expected.javascript OR Uncaught SyntaxError: Invalid destructuring assignment target

这是完整的代码

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]);

做出改变后,就像

num= [1,3] function bubbleg(num);

一切都很好,但为什么我们不能放像bubbg([1,3])这样的东西呢?是否有任何书籍,所以当我查找其中包含一些错误列表时?

标签: javascriptarraysfunction

解决方案


在调用您的函数时删除函数关键字。functionis 关键字用于声明函数,而不是调用它。

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]);

推荐阅读