Iterable object

How to make a Object Iterable.

by ruhul105

JavaScript

let james = {
    name: 'James',
    height: `5'10"`,
    weight: 185
};

function makeObjectIterable(object) {
	if (!object[Symbol.iterator]) {
		object[Symbol.iterator] = function* () {
			const properties = Object.keys(object);
			
			for (let prop of properties) {
				yield this[prop];
			}
		};
	}

	return object;
};

let iterableJames = makeObjectIterable(james)

 let iterator = iterableJames[Symbol.iterator]();
 
 //
 console.log(iterator.next().value); // 'James'
 console.log(iterator.next().value); // `5'10`
 console.log(iterator.next().value); // 185
 
 
 
 
 {
    "data": {
        "bio": "",
        "display_name": "Ruhul Amin",
        "email": "[email protected]",
        "location": "Rajshahi, BD",
        "meta": {
                "is_app_downloaded": false,
    "has_read_papers": false,
    "reading_time": "timeStamp",
    "QRCode": [
    {
      "id": "unique_id",
      "is_used": false,
      "used_time": "timeStamp",
      "booth": {
        "booth_id": "string",
        "location": {
          "lat": 0.0,
          "long": 0.0
        }
      }
    }
  ]
        },
        "photo_url": "https://lh3.googleusercontent.com/a/ACg8ocJsxMKQyt_u1s_tR2T52uiKXZXaj9ZEo7aaCFoiasdVR-3BDS2A=s96-c",
        "website": ""
    },
    "status": 1
}