⪼ Made with 💜 by Polyglot.
> combine = (a, b) => a.reduce((out, val, idx) => Object.assign(out, { [val]: b[idx] }), {})
[Function: combine]
> combine(a, b)
{ green: 'avocado', red: 'apple', yellow: 'banana' }
> a
[ 'green', 'red', 'yellow' ]
> b
[ 'avocado', 'apple', 'banana' ]
> const c = ['green', 'avocado', 'red', 'apple', 'yellow', 'banana']
undefined
> c.filter((_, idx) => idx % 2 === 0)
[ 'green', 'red', 'yellow' ]
> c.filter((_, idx) => idx % 2 === 1)
[ 'avocado', 'apple', 'banana' ]
> combine(c.filter((_, idx) => idx % 2 === 0), c.filter((_, idx) => idx % 2 === 1))
{ green: 'avocado', red: 'apple', yellow: 'banana' }
> let array_combine = (a, b) => (b) ? combine(a, b) : combine(c.filter((_, idx) => idx % 2 === 0), c.filter((_, idx) => idx % 2 === 1))
undefined
> array_combine(a, b)
{ green: 'avocado', red: 'apple', yellow: 'banana' }
> array_combine(c)
{ green: 'avocado', red: 'apple', yellow: 'banana' }
> let tuples = [['green', 'avocado'], ['red', 'apple'], ['yellow', 'banana']]
undefined
> tuples
[ [ 'green', 'avocado' ], [ 'red', 'apple' ], [ 'yellow', 'banana' ] ]
> Map(tuples)
Uncaught TypeError: Constructor Map requires 'new'
at Map (<anonymous>)
> new Map(tuples)
Map(3) { 'green' => 'avocado', 'red' => 'apple', 'yellow' => 'banana' }
> new Map(tuples).toEntries()
Uncaught TypeError: (intermediate value).toEntries is not a function
> (new Map(tuples)).toEntries()
Uncaught TypeError: (intermediate value).toEntries is not a function
> (new Map(tuples)).entries
[Function: entries]
> (new Map(tuples)).entries()
[Map Entries] {
[ 'green', 'avocado' ],
[ 'red', 'apple' ],
[ 'yellow', 'banana' ]
}
> Object.fromEntries(tuples)
{ green: 'avocado', red: 'apple', yellow: 'banana' }
>