преобразовать многомерный объект [key][key][key] => value
Как из такого массива:
max => '20',
min => '0',
placeholder =>
1 => 'value 1',
2 => 'value 2',
сделать такой:
'[max]' => '20',
'[min]' => '0',
'[placeholder][1]' => 'value 1',
'[placeholder][2]' => 'value 2',
PS с квадратными скобками
Ответы (1 шт):
Автор решения: entense
→ Ссылка
function convert(obj, prefix = '', res = { } ) {
for (let key in obj) {
if (!obj.hasOwnProperty(key)) continue;
if (typeof obj[key] === 'object' && obj[key] !== null) {
convert(obj[key], prefix + '[' + key + ']', res);
} else {
res[prefix + '[' + key + ']'] = obj[key];
}
}
return res;
}
var object = { max: 20, min: 0, placeholder: { 1: 'value_1', 2: 'value_2' }};
console.log(convert(object));
