JavaScript: создать новый объект из комбинации двух или более объектов
Основы JavaScript (синтаксис ES6): упражнение 178 с решением
Напишите программу на JavaScript для создания нового объекта из комбинации двух или более объектов.
Пример решения:
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Create a new object from the combination of two or more objects</title>
</head>
<body>
</body>
</html>
Код JavaScript:
//#Source https://bit.ly/2neWfJ2
const merge = (...objs) =>
[...objs].reduce(
(acc, obj) =>
Object.keys(obj).reduce((a, k) => {
acc[k] = acc.hasOwnProperty(k) ? [].concat(acc[k]).concat(obj[k]) : obj[k];
return acc;
}, {}),
{}
);
const object = {
a: [{ x: 2 }, { y: 4 }],
b: 1
};
const other = {
a: { z: 3 },
b: [2, 3],
c: 'foo'
};
console.log(merge(object, other));
Пример вывода:
{ "А": [{ "х": 2}, { "у": 4}, { "г": 3}], "б": [1,2,3], "с": "Foo" }
Блок - схема:
Демонстрация в реальном времени:
См. Pen javascript-basic-упражнение- 178-1 от w3resource ( @ w3resource ) на CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите программу на JavaScript, чтобы получить минимальное значение массива, после сопоставления каждого элемента значению, используя предоставленную функцию.
Далее: Напишите программу на JavaScript для сравнения двух объектов, чтобы определить, содержит ли первый объект значения эквивалентных свойств для второго на основе предоставленной функции.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования