JavaScript: создайте массив элементов, разгруппировав элементы в массиве, созданном zip, и применив предоставленную функцию
Основной JavaScript (синтаксис ES6): упражнение-106 с решением
Напишите программу на JavaScript для создания массива элементов, разгруппирования элементов в массиве, созданного zip, и применения предоставленной функции.
Пример решения:
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Create an array of elements, ungrouping the elements in an array produced by zip and applying the provided function</title>
</head>
<body>
</body>
</html>
Код JavaScript:
//#Source https://bit.ly/2neWfJ2
const unzipWith = (arr, fn) =>
arr
.reduce(
(acc, val) => (val.forEach((v, i) => acc[i].push(v)), acc),
Array.from({
length: Math.max(...arr.map(x => x.length))
}).map(x => [])
)
.map(val => fn(...val));
console.log(unzipWith([[1, 10, 100], [2, 20, 200]], (...args) => args.reduce((acc, v) => acc + v, 0)));
Пример вывода:
[3,30,300]
Иллюстрированная презентация:
Блок - схема:
Демонстрация в реальном времени:
См. Pen javascript-basic-упражнение-106-1 от w3resource ( @ w3resource ) на CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Previous: написать программу на JavaScript, которая возвращает true, если заданное значение является числом, в противном случае - false.
Далее: Напишите программу на JavaScript, чтобы получить все уникальные значения (образующие правую часть массива) массива на основе предоставленной функции компаратора.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования