外部的备用函数变量

时间:2019-02-20 06:01:58

标签: javascript

我正在尝试对数组进行排序,只是为了进行训练,但是我遇到了麻烦。 对于我来说,即使使用Google或文档,我也很难理解功能的真正工作原理,但我找不到答案。 我很难知道是否可以使用我的变量j与我的函数进行交互,以避免从循环的开始算起。 我可以做吗? 当然,如果您有其他选择排序方式,我敢肯定还有其他方法,如果您有时间,请给我您的答案。 这是我尝试过的:

var array = [8, 4, 2, 9, 4, 3, 7, 1, 6, 40, 21, 30];


function findMini(j) {
    var min = 100;  
    var count = j;

    for (var i = 0; i < array.length; i++) {
        if (i = 0) {
            min = array[i + count];
            i = i + j;
        }
        else if (array[i] < min) {
            min = array[i];
        }
        else {

        }
    }
    return min;
}


for (var j = 0; j < array.length; j++) {
    console.log('Le tableau [ ' + j + ' ] = ' + findMini(j));
}

还有最后一个问题,我可以声明具有var min = 100;值的变量undefined吗?

1 个答案:

答案 0 :(得分:1)

好吧,首先我建议学习javascript变量范围:

https://www.w3schools.com/js/js_scope.asp

代码中的问题是变量数组在函数外部声明。如果要在函数内部使用它,可以在内部声明它或将其用作函数的参数:

function findMini(j, arrayInsideFunction) {
  ......
  for (var i = 0; i < arrayInsideFunction.length; i++) {
  ......
}
.......
console.log('Le tableau [ ' + j + ' ] = ' + findMini(j, array));

然后,关于第二个问题,您可以声明一个未定义的变量:

var min = undefined;

您也可以只定义变量并稍后使用

var min;