Convert Array of Arrays of Objects to Array of objects

aamir1
Mega Expert

Hi,

I need to convert Array of Arrays of Objects to Array of objects.

Here is the data-
var newresponse = [
[
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1573046331,
"desktoptokens": [],
"email": "test1@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "Demo purpose user1",
"phones": [],
"realname": "Test User1",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DUOXVNT4G6ZJ1XOFBDNF",
"username": "test1",
"webauthncredentials": []
},
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1573653871,
"desktoptokens": [],
"email": "testuser2@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "testuser2 user for duo",
"phones": [],
"realname": "test user2",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DU4J2I5LWV077WAYHC0D",
"username": "testuser2",
"webauthncredentials": []
}
],
[
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1573653912,
"desktoptokens": [],
"email": "testuser3@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "testuser3 for duo",
"phones": [],
"realname": "test user3",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DUWEWBROV34OYTVJ4LVD",
"username": "testuser3",
"webauthncredentials": []
},
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1573654492,
"desktoptokens": [],
"email": "testuser4@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "testuser4 notes for duo",
"phones": [],
"realname": "test user4",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DUBM14YD6MRE5033B2G7",
"username": "testuser4",
"webauthncredentials": []
}
],
[
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1575474789,
"desktoptokens": [],
"email": "testuser5@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "",
"phones": [],
"realname": "test user5",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DUIS4KS98OS5MKCRDBI6",
"username": "testuser5",
"webauthncredentials": []
},
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1575474834,
"desktoptokens": [],
"email": "testuser6@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "",
"phones": [],
"realname": "test user6",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DUOQB1869RKOFMOGX0TJ",
"username": "testuser6",
"webauthncredentials": []
}
],
[
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1575474871,
"desktoptokens": [],
"email": "testuser7@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "",
"phones": [],
"realname": "test user7",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DUIFHX0LUAY4XGDIGOB4",
"username": "testuser7",
"webauthncredentials": []
},
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1575474905,
"desktoptokens": [],
"email": "testuser8@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "",
"phones": [],
"realname": "test user8",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DUHWI7D2NOXUTU0VUKLA",
"username": "testuser8",
"webauthncredentials": []
}
],
[
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1575474942,
"desktoptokens": [],
"email": "testuser9@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "",
"phones": [],
"realname": "test user9",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DU1O3ECCG5XMJPWTB2JM",
"username": "testuser9",
"webauthncredentials": []
},
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1575474976,
"desktoptokens": [],
"email": "testuser10@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "",
"phones": [],
"realname": "test user10",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DUDZCV2R7DJKJ1ZTZHQK",
"username": "testuser10",
"webauthncredentials": []
}
]
]

 

Below is my code, which is not working-

var result = [];
var key, value;
for (var i = 0; i<newresponse.length; i++) {
for (var j = 0; j<newresponse[i].length; j++) {
//key = newresponse[i][j][0];
//value = newresponse[i][j][1];
var actualData = {};
actualData.resp = newresponse[i][j];
//actualData[key] = value;
}
result.push(actualData);
}

Please suggest where is the issue.

1 ACCEPTED SOLUTION

ChrisBurks
Mega Sage

Or use reduce

var flattenedArr = newresponse.reduce(
    function(arr,curr){
      curr.forEach(function(currArr){
        arr.push(currArr);
    });
    return arr;
},[])

View solution in original post

4 REPLIES 4

Omkar Mone
Mega Sage

Hi 

I tried this in my personal instance in the background script. I see you haven't used JSON.stringify(actualData), Check my code, while pushing data in the result array, i have put  JSON.stringify(actualData).

var result = [];
var key, value;
for (var i = 0; i<newresponse.length; i++) {
for (var j = 0; j<newresponse[i].length; j++) {
//key = newresponse[i][j][0];
//value = newresponse[i][j][1];
var actualData = {};
actualData.resp = newresponse[i][j];
//actualData[key] = value;
}
result.push(JSON.stringify(actualData));


}
gs.print(result);

 

Hope this helps.

 

Regards

Omkar Mone

VigneshMC
Mega Sage

Try

var arrays = [
[
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1573046331,
"desktoptokens": [],
"email": "test1@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "Demo purpose user1",
"phones": [],
"realname": "Test User1",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DUOXVNT4G6ZJ1XOFBDNF",
"username": "test1",
"webauthncredentials": []
},
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1573653871,
"desktoptokens": [],
"email": "testuser2@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "testuser2 user for duo",
"phones": [],
"realname": "test user2",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DU4J2I5LWV077WAYHC0D",
"username": "testuser2",
"webauthncredentials": []
}
],
[
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1573653912,
"desktoptokens": [],
"email": "testuser3@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "testuser3 for duo",
"phones": [],
"realname": "test user3",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DUWEWBROV34OYTVJ4LVD",
"username": "testuser3",
"webauthncredentials": []
},
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1573654492,
"desktoptokens": [],
"email": "testuser4@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "testuser4 notes for duo",
"phones": [],
"realname": "test user4",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DUBM14YD6MRE5033B2G7",
"username": "testuser4",
"webauthncredentials": []
}
],
[
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1575474789,
"desktoptokens": [],
"email": "testuser5@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "",
"phones": [],
"realname": "test user5",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DUIS4KS98OS5MKCRDBI6",
"username": "testuser5",
"webauthncredentials": []
},
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1575474834,
"desktoptokens": [],
"email": "testuser6@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "",
"phones": [],
"realname": "test user6",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DUOQB1869RKOFMOGX0TJ",
"username": "testuser6",
"webauthncredentials": []
}
],
[
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1575474871,
"desktoptokens": [],
"email": "testuser7@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "",
"phones": [],
"realname": "test user7",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DUIFHX0LUAY4XGDIGOB4",
"username": "testuser7",
"webauthncredentials": []
},
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1575474905,
"desktoptokens": [],
"email": "testuser8@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "",
"phones": [],
"realname": "test user8",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DUHWI7D2NOXUTU0VUKLA",
"username": "testuser8",
"webauthncredentials": []
}
],
[
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1575474942,
"desktoptokens": [],
"email": "testuser9@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "",
"phones": [],
"realname": "test user9",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DU1O3ECCG5XMJPWTB2JM",
"username": "testuser9",
"webauthncredentials": []
},
{
"alias1": null,
"alias2": null,
"alias3": null,
"alias4": null,
"created": 1575474976,
"desktoptokens": [],
"email": "testuser10@ex.com",
"firstname": null,
"groups": [],
"is_enrolled": false,
"last_directory_sync": null,
"last_login": null,
"lastname": null,
"notes": "",
"phones": [],
"realname": "test user10",
"status": "active",
"tokens": [],
"u2ftokens": [],
"user_id": "DUDZCV2R7DJKJ1ZTZHQK",
"username": "testuser10",
"webauthncredentials": []
}
]
];
var flattened = [].concat.apply([],arrays);
gs.print(JSON.stringify(flattened));

ChrisBurks
Mega Sage

Or use reduce

var flattenedArr = newresponse.reduce(
    function(arr,curr){
      curr.forEach(function(currArr){
        arr.push(currArr);
    });
    return arr;
},[])

Thanks Chris, It worked.