JavaScript: Свести объект с путями для ключей
Основы JavaScript (синтаксис ES6): упражнение 233 с решением
Напишите программу на JavaScript, чтобы сгладить объект путями для ключей.
Пример решения:
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Flatten an object with the paths for keys</title>
</head>
<body>
</body>
</html>
Код JavaScript:
//#Source https://bit.ly/2neWfJ2
const flattenObject = (obj, prefix = '') =>
Object.keys(obj).reduce((acc, k) => {
const pre = prefix.length ? prefix + '.' : '';
if (typeof obj[k] ==='object') Object.assign(acc, flattenObject(obj[k], pre + k));
else acc[pre + k] = obj[k];
return acc;
}, {});
console.log(flattenObject({ a: { b: { c: 1 } }, d: 1 }));
Пример вывода:
{ "ABC": 1, "г": 1}
Блок - схема:
Демонстрация в реальном времени:
См. Pen javascript-basic-упражнение-233-1 от w3resource ( @ w3resource ) в CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите программу JavaScript, которая принимает функцию в качестве аргумента, а затем делает первый аргумент последним.
Далее: Напишите программу на JavaScript, чтобы сгладить заданный массив до заданной глубины.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code