2017-01-29 4 views
3

новичка в угловой и машинопись и у меня эта функцияПреобразование объекта в массив в angular2/машинописях

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

console.log выше возвращает объект формы

role:"administrator" 
status:10 
tries:2 

I хотел бы преобразовать массив thisto, чтобы я мог прокручивать их, как

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

Как это преобразовать

Я проверил на this link, но это не offere помощь в angular2/машинописи

Я также попытался

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

Почему вы хотите это сделать? Вы можете напрямую перебирать свойства своего объекта, если это будет единственной причиной. – lexith

ответ

1

Вы можете создать интерфейс со свойствами,

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

Создать массив внутри приложения,

users: user[] = []; 

И тогда вы можете нажать на объект пользователя и сделать в виде массива,

this.users.push(user); 
+0

какой тип маркеров (this.markers ...) –

+0

извините, что должно быть this.users – Sajeetharan

+0

Теперь создается массив, но его массив этого объекта, но я хочу, чтобы значения были перенесены в массив, что я имею в виду это массив массива формы ((массив (0-> пользователь obect))), что я искал, является массивом формы (array (role: "", status: 10, ...)) –

4

Если вы действительно хотите, чтобы преобразовать значение объекта в массив ... вы должны сделать это.

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); 

Результат от console.log

0:"administrator" 1:10 2:2

Смежные вопросы