Rakesh Chandra Rakesh Chandra - 22 days ago 11
AngularJS Question

converting an object into arrays in angular2 Typescript

I have an object which is getting dynamically loaded from REST response. Now i have to convert this object into 2 arrays.
1) an array with key and values in which the value is null.
2) an array with key and values in which the value is not null.

And these both arrays, i need to display them in html with key and values in sorted order like. first the not null values and then later the null values.

object1 : {
'name' : 'xyz',
'age' : '23',
'dob' : null,
'address' : null
}


Am finding a problem while converting this object into an array!
What i have been trying is

this.notNullValues = new Array<string>();
for(let obj of this.object1){
console.log(obj);
}

Answer

You can have a look at the below code. Also you can do the same with Object.keys instead of for..in.

Also, you can check like this, if(object1[key] == null)

var object1 = {
'name' : 'xyz',
'age' : '23',
'dob' : null,
'address' : null
};


var nullArray = [];
var notNullArray = [];

for(let key in object1){
  var item = {};
  item[key] = object1[key];
  
  if(object1[key]){
    notNullArray.push(item);
  } else {
    nullArray.push(item);
  }
}

console.log(nullArray);
console.log(notNullArray);

With Object.keys,

var object1 = {
    'name' : 'xyz',
    'age' : '23',
    'dob' : null,
    'address' : null
    };


    var nullArray = [];
    var notNullArray = [];

    Object.keys(object1).forEach(function(key) {
  var item = {};
  item[key] = object1[key];
  
  if(object1[key]){
    notNullArray.push(item);
  } else {
    nullArray.push(item);
  }
});

    console.log(nullArray);
    console.log(notNullArray);