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