angular - Konverter et objekt til en array i angular2/typescript


Er ny med Angular og TypeScript, og jeg har denne funksjonen

 onSetValues(user){ //user is an object
    console.log(user);  
 }

Konsollen.log ovenfor returnerer et objekt av formen

role:"administrator"
status:10
tries:2

Jeg vil gjerne gjøre dette om til et array slik at jeg kan løkke gjennom dem som

for(var i=0; i<array.length; i++){
 //do m stuff here
  }

Hvordan konverterer jeg dette

Jeg har sjekket denne lenken, men den tilbyr ikke hjelp i Angular2/TypeScript

Jeg har også prøvd

console.log(user| {}) //also fails

Svar #1

Hvis du virkelig vil konvertere objektverdiene dine til en matrise... må du gjøre dette.

  let user = {
    role:"administrator",
    status:10,
    tries:2,
  };

  let arr = [];
  for(let key in user){
   if(user.hasOwnProperty(key)){
     arr.push(user[key]);
   }
  }
  console.log(arr);

Resultat fra console.log

0:"administrator" 1:10 2:2

Svar #2

Du kan lage et grensesnitt med egenskapene,

interface user{
  role: string;
  status: string;
  tries: number;
}

Lag et array inne i appkomponenten,

 users: user[] = [];

Og så kan du legge til brukerobjektet og lage det som et array,

this.users.push(user);

Relaterte artikler