ES6 предоставляет метод Array.from()
, который создает новый экземпляр Array из объекта, подобного массиву или итерации.
let boxes = document.getElementsByClassName('box');
Array.from(boxes).forEach(v => v.style.background = 'green');
console.log(Array.from(boxes));
.box {
width: 50px;
height: 50px;
margin: 5px;
background: blue;
display: inline-block;
}
Как вы можете видеть внутри фрагмента кода, после использования функции Array.from()
вы можете манипулировать каждым элементом.
Это же решение с использованием jQuery
.
$('.box').css({'background':'green'});
.box {
width: 50px;
height: 50px;
margin: 5px;
background: blue;
display: inline-block;
}
вам нужна функция mapPair, она определена в пакете утилит-ht , но просто
mapPair :: (a -> c, b -> d) -> (a,b) -> (c,d)
mapPair (f,g) (a,b) = (f a, g b)
используется
Prelude> mapPair ((* 2), (* 3)) (2,3)
(4,9)
или [116 ]
Prelude> map (mapPair ((* 2), (* 3))) [(1,2),(2,3)]
[(2,6),(4,9)]
Кортеж является бифунктором, поэтому доступно bimap
.
import Data.Bifunctor
fncnB = (* 2)
fncnA = (* 3)
fs' = map (bimap fncnA fncnB)
Сторонних библиотек не требуется.