如何在打字稿中将数组声明为 public?

How do i declare an array as public in typescript?

我有一个函数涉及声明和填充名为 ArrayRoute 的数组。稍后我需要在 for 循环中引用这个数组。如何将此数组设置为全局数组以便我可以在函数外部访问它?

谢谢

function route(permutation, origins) {
    var myroute = origins[0];
    var ArrayRoute = [];
    ArrayRoute.push(origins[0]);
    console.log('ArrayRoute= ' + ArrayRoute);
    for (var i = 0; i < permutation.length; i++){
        myr += '\n' + myd[permutation[i] - 1];
        ArrayRoute.push(myd[permutation[i] - 1]);
    }
    return myroute;
}

for (i = 0; i < ArrayRoute.length - 1; i++) {
    console.log(ArrayRoute[i] + '->' + ArrayRoute[i + 1]);
}

console.log('ArrayRouteeee= ' + ArrayRoute);

你不能。
如果您在函数内部创建数组,则只能从函数体内访问它。

你可以在函数外声明它:

let ArrayRoute = [];
function route(permutation, origins) {
    var myroute = origins[0];
    ArrayRoute.push(origins[0]);
    console.log('ArrayRoute= ' + ArrayRoute);
    for (var i = 0; i < permutation.length; i++){
        myr += '\n' + myd[permutation[i] - 1];
        ArrayRoute.push(myd[permutation[i] - 1]);
    }
    return myroute;
}

for (i = 0; i < ArrayRoute.length - 1; i++) {
    console.log(ArrayRoute[i] + '->' + ArrayRoute[i + 1]);
}

console.log('ArrayRouteeee= ' + ArrayRoute);

您可以将其作为参数传递给函数:

function route(permutation, origins, ArrayRoute) {
    ...
}

或者您可以 return 数组作为函数的结果:

function route(permutation, origins) {
    var myroute = origins[0];
    var ArrayRoute = [];
    ArrayRoute.push(origins[0]);
    console.log('ArrayRoute= ' + ArrayRoute);
    for (var i = 0; i < permutation.length; i++){
        myr += '\n' + myd[permutation[i] - 1];
        ArrayRoute.push(myd[permutation[i] - 1]);
    }
    return { myroute, ArrayRoute };
}

let { myroute, ArrayRoute } = route(...);