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

时间:2017-03-12 17:12:24

标签: arrays typescript global

我有一个函数,涉及声明和填充一个名为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);

1 个答案:

答案 0 :(得分:1)

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

您可以在函数之外声明它:

[a-zA-Z]{5,30}\d{0,10}

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

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) {
    ...
}