Hur deklarerar jag en array som public i TypeScript?
Jag har en funktion som involverar att deklarera och fylla en array kallad ArrayRoute. Jag behöver referera till denna array senare i en for-loop. Hur gör jag denna array global så att jag kan komma åt den utanför funktionen?
Tack
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);
Svar #1
Du kan inte.
Om du skapar arrayen inne i funktionen är den endast åtkomlig från funktionen.
Du kan deklarera det utanför funktionen:
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);
Du kan skicka det som en parameter till funktionen:
function route(permutation, origins, ArrayRoute) {
...
}
Eller så kan du returnera arrayen som ett resultat från funktionen:
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(...);
