· 9 years ago · Sep 23, 2016, 11:20 PM
1var d = {
2 google: {
3 email: 'zurb @gmail.com',
4 name: 'k-pop Dorama',
5 token: 'ya2XObIhOB63qjwlw',
6 id: '11971093321'
7 },
8 twitter: {
9 displayName: 'Smart as a Genius',
10 id: '47252187865',
11 name: 'Paul Peter',
12 token: '47252ijoGYJ40bFAKvX'
13 },
14 facebook: {
15 email: '',
16 id: '1112961258784387',
17 name: 'Tomash Khamlai',
18 token: 'ERUTT8xK2oE7ZD'
19 }
20}
21
22var f = ["name", "email"];
23
24function iterate(data, fields) {
25 var response = Object.create({}, "");
26 var property;
27 for (property in data) {
28 if (data.hasOwnProperty(property)) {
29 if (typeof data[property] === "object")
30 iterate(data[property], fields);
31 else {
32 fields.forEach(function(element) {
33 if (property === element) {
34 if (data[property] !== "") {
35 if (!response[element]) {
36 response[element] = [];
37 response[element].push(data[property]);
38 } else {
39 response[element].push(data[property]);;
40 }
41 }
42 }
43 });
44 }
45 }
46 }
47}
48
49iterate(d, f);
50
51console.log(response);
52
53{ name: ["k-pop Dorama", "Paul Peter", "Tomash Khamlai"], email: ["zurb@gmail.com"] }