Skip to content

Instantly share code, notes, and snippets.

@tomatau
tomatau / flatten.js
Last active March 26, 2017 12:49
Array Flatten
const flatten = (source) => {
const length = source.length
let i = 0
let flattened = []
for (; i < length; i++) {
// recursive call could reach stack limit
flattened = flattened.concat(
!Array.isArray(source[i]) ? source[i] : flatten(source[i])
)
@tomatau
tomatau / sort.js
Created March 26, 2017 15:01
Sort Arrays
import assert from 'assert'
const sortByAge = (source) => source.sort((itemA, itemB) => itemA.age - itemB.age)
const ob = (age) => ({ name: ''+age, age })
assert.deepEqual(
sortByAge([ ob(1), ob(6), ob(2), ob(5), ob(3), ob(4) ]),
[ ob(1), ob(2), ob(3), ob(4), ob(5), ob(6) ]
)
@tomatau
tomatau / App.js
Last active December 2, 2017 21:19
SSR React Router Redux Suggestion
import { Switch, Route } from 'react-router'
import { replace } from 'react-router-redux'
@connect(null, { replace })
class PrivateRoute extends React.Component {
componentWillMount() {
this.props.replace('/foo')
}
render() {