OD
Size: a a a
T
p
В
CM
В
OD
OD
p
L
let isNullable = (value) => value === null || value === undefined;
let maybe = (value) => isNullable(value) ? maybe.none() : maybe.some(value);
maybe.none = () => ({
map: () => none(),
value: (value) => value
});
maybe.some = (value) => ({
map: (fn) => maybe(fn(value)),
value: () => value
});
let extractProperty = (propertyName) => (
(defaultValue) => (
(entity) => (
maybe(entity)
.map((entity) => entity[propertyName])
.value(defaultValue)
)
)
);
let html = extractProperty('innerHTML')('');
let add = (a, b) => a + b;
let isNaNNot = (value) => !isNaN(value);
let totalFromElements = (...elements) => (
elements
.map(html)
.map(parseFloat)
.filter(isNaNNot)
.reduce(add, 0)
);
console.log(
totalFromElements(
...document.querySelectorAll('.number')
)
);
T
L
let isNullable = (value) => value === null || value === undefined;
let maybe = (value) => isNullable(value) ? maybe.none() : maybe.some(value);
maybe.none = () => ({
map: () => none(),
value: (value) => value
});
maybe.some = (value) => ({
map: (fn) => maybe(fn(value)),
value: () => value
});
let extractProperty = (propertyName) => (
(defaultValue) => (
(entity) => (
maybe(entity)
.map((entity) => entity[propertyName])
.value(defaultValue)
)
)
);
let html = extractProperty('innerHTML')('');
let add = (a, b) => a + b;
let isNaNNot = (value) => !isNaN(value);
let totalFromElements = (...elements) => (
elements
.map(html)
.map(parseFloat)
.filter(isNaNNot)
.reduce(add, 0)
);
console.log(
totalFromElements(
...document.querySelectorAll('.number')
)
);
p
В
p
В
В
T