Чтобы поставить запятую между каждой записью, было бы неплохо иметь массив записей, которые вы можете .join
. Вы можете получить массив записей с Object.entries
, который дает вам и ключ, и связанное с ним значение - просто объедините их вместе с =
:
function stringFromObject(obj) {
return Object.entries(obj)
.map(([key, val]) => `${key} = ${val}`)
.join(', ');
}
console.log(stringFromObject({ a: 1, b: '2' }));
Чтобы настроить существующий код, объедините ,
после obj[i]
, а затем после l oop отрежьте последние два символа - но это все еще своего рода не элегантный ИМО:
//write function that accepts an obj.
function stringFromObject(obj) {
let result = "";
//loop over the object's properties and create a new string
//return format should be "key = value, key = value"
for (let i in obj) {
result += i + ' = ' + obj[i] + ', ';
}
// remove last comma and space
result = result.slice(0, result.length - 2);
return result;
}
console.log(stringFromObject({ a: 1, b: '2' }));