A collection of amazing functions:
all(array)
- Returns
trueif all values in the array are true
all()
// => trueall(true)
// => trueall(false)
// => falseall([true,true])
// => trueall([true,false])
// => falseall(array, func)
- Returns
trueif all values in the array are true when applied to func
all(4, i => i <= 4)
// => trueall(4, i => i > 4)
// => falseall([2,4], i => i <= 2)
// => falseall([2,4], i => i <= 4)
// => trueany(array)
- Returns
trueif at least one in the values in the array is true
any()
// => falseany(true)
// => trueany(false)
// => falseany([false,false])
// => falseany([true,false])
// => trueany(array, func)
- Returns
trueif at least one in the values in the array is true when applied to func
any(4, i => i <= 4)
// => trueany(4, i => i > 4)
// => falseany([2,4], i => i <= 2)
// => trueany([2,4], i => i <= 4)
// => trueany([2,4], i => i <= 1)
// => falseapply(f, [val₁, val₂, val₃, …])
- returns f(val₁, val₂, val₃, …)
apply(a => a + 2, 1)
// => 3apply(a => a + 2, [1])
// => 3apply((a, b) => a + b, [1,2])
// => 3apply((a, b, c) => a + b + c, [1,2,3])
// => 6composition(f₁, f₂, f₃, …)
- returns a composition of the functions f₁, f₂, f₃, …
composition()(4)
// => 4composition(a => a + 2)(4)
// => 6composition(a => a + 2, a => a * 3)(4)
// => 18composition(a => a + 2, a => a * 3, a => a / 2)(4)
// => 9contains(data, value)
- returns
trueif value is contained in data
contains([1,2,3], 2)
// => truecontains([1,2,3], 8)
// => falsecontains({"a":1,"b":2}, "a")
// => truecontains({"a":1,"b":2}, "c")
// => falsecontains(1, 1)
// => truedelete_duplicates(iterable)
- deletes all duplicates from list.
delete_duplicates([1,1,3])
// => [1,3]delete_duplicates([1,7,8,4,3,4,1,9,9,2])
// => [1,7,8,4,3,9,2]delete_duplicates([])
// => []delete_duplicates([{"a":2,"b":3},{"a":2}], "a")
// => [{"a":2}]delete_duplicates([{"a":2,"b":3},{"a":2}], o => o.a)
// => [{"a":2}]filter(data, crit)
- picks out all elements xₑ of data for which crit(data[e], e) is True
filter(v => v < 3, [1,2,3])
// => [1,2]filter(v => v < 3, 1)
// => [1]filter(v => v < 3, 5)
// => []filter(v => v < 3, {"a":2,"b":5})
// => {"a":2}filter((v, index) => v == index, [0,1,2,4])
// => [0,1,2]filter((v, index) => v == index, 0)
// => [0]filter((v, index) => v == index, 1)
// => []filter((v, index) => v == index, {"a":"a","b":"c"})
// => {"a":"a"}first(1)
// => 1first([1,2,3])
// => 1first({"a":1,"b":2})
// => 1getter()({"a":2})
// => {"a":2}getter("a")({"a":2})
// => 2getter(["a","b"])({"a":2,"b":3})
// => [2,3]getter({"x":"a","z":"b"})({"a":2,"b":3})
// => {"x":2,"z":3}getter(a => a + 2)(0)
// => 2getter([null,null])(0)
// => [2,4]getter({})(0)
// => {"a":2,"b":4}group_by([1,1,2,3])
// => {"1":[1,1],"2":[2],"3":[3]}group_by([{"a":2},{"a":3},{"a":2,"b":4}], "a")
// => {"2":[{"a":2},{"a":2,"b":4}],"3":[{"a":3}]}group_by([{"a":2},{"a":3},{"a":2,"b":4}], v => v.a)
// => {"2":[{"a":2},{"a":2,"b":4}],"3":[{"a":3}]}group_by({"a":1,"b":1,"c":2,"d":3})
// => {"1":{"a":1,"b":1},"2":{"c":2},"3":{"d":3}}group_by({"x":{"a":2},"y":{"a":3},"z":{"a":2,"b":4}}, "a")
// => {"2":{"x":{"a":2},"z":{"a":2,"b":4}},"3":{"y":{"a":3}}}group_by({"x":{"a":2},"y":{"a":3},"z":{"a":2,"b":4}}, v => v.a)
// => {"2":{"x":{"a":2},"z":{"a":2,"b":4}},"3":{"y":{"a":3}}}group_by([1,1,2,2,3], v => v, array => array.reduce((a, b) => a + b, 0))
// => {"1":2,"2":4,"3":3}identity(val)
- gives val (the identity operation)
identity()
// => nullidentity(2)
// => 2identity([1,2,3])
// => [1,2,3]is_array("a")
// => falseis_array(0)
// => falseis_array([])
// => trueis_array({})
// => falseis_array(null)
// => falseis_array()
// => falseis_function("a")
// => falseis_function(0)
// => falseis_function([])
// => falseis_function({})
// => falseis_function(null)
// => falseis_function()
// => falseis_function()
// => falseis_function(() => 1)
// => trueis_function(function () {})
// => trueis_iterator([1, 2, 3])
// => falsefunction* iter() {yield 1}
is_iterator(iter())
// => trueis_null("a")
// => falseis_null(0)
// => falseis_null([])
// => falseis_null({})
// => falseis_null(null)
// => trueis_null()
// => trueis_object("a")
// => falseis_object(0)
// => falseis_object([])
// => falseis_object({})
// => trueis_object({"3":1,"4":2,"5":3})
// => trueis_object(null)
// => falseis_object()
// => falseitems({})
// => []items({"a":1})
// => [["a",1]]items({"a":1}, {"b":2})
// => [["a",1],["b",2]]items({"a":1}, {"b":2}, {"c":3})
// => [["a",1],["b",2],["c",3]]items({"a":1,"b":2}, {"b":3})
// => [["a",1],["b",2],["b",3]]key_drop({"a":"b","c":"d","e":"f","k":"p"}, "a")
// => {"c":"d","e":"f","k":"p"}key_drop({"a":"b","c":"d","e":"f","k":"p"}, ["c","k"])
// => {"a":"b","e":"f"}key_drop({"a":"b","c":"d","e":"f","k":"p"}, ["a","c","z"])
// => {"e":"f","k":"p"}key_drop({"a":"b","c":"d","e":"f","k":"p"})
// => {"a":"b","c":"d","e":"f","k":"p"}key_take({"a":"b","c":"d","e":"f"}, "a")
// => {"a":"b"}key_take({"a":"b","c":"d","e":"f"}, ["a","c"])
// => {"a":"b","c":"d"}key_take({"a":"b","c":"d","e":"f"}, ["a","c","z"])
// => {"a":"b","c":"d"}key_take({"a":"b","c":"d","e":"f"})
// => {"a":"b","c":"d","e":"f"}key_take({"a":"b","c":"d","e":"f"}, ["a","c","z","j"], 3)
// => {"a":"b","c":"d","z":3,"j":3}key_take({"a":"b","c":"d","e":"f"}, ["a","c","z","j"], null)
// => {"a":"b","c":"d","z":null,"j":null}keys({"a":"b","c":"d","e":"f"})
// => ["a","c","e"]last(1)
// => 1last([1,2,3])
// => 3last({"a":1,"b":2})
// => 2length()
// => 0length(1)
// => 1length("foo")
// => 1length([1])
// => 1length([1,2,3])
// => 3length({"a":2})
// => 1length({"a":2,"b":3})
// => 2map(v => v + 2, [1,2,3])
// => [3,4,5]map(v => v + 2, 1)
// => [3]map(v => v + 2, {"a":3,"b":5})
// => {"a":5,"b":7}map((v, index) => v + index, [1,2,3])
// => [1,3,5]map((v, index) => v + index, 1)
// => [1]map((v, index) => v + index, {"a":3})
// => {"a":"3a"}merge()
// => {}merge({"a":1})
// => {"a":1}merge({"a":1}, {"b":2})
// => {"a":1,"b":2}merge({"a":1}, {"b":2}, {"c":3})
// => {"a":1,"b":2,"c":3}merge({"a":1,"b":2}, {"b":3})
// => {"a":1,"b":3}nest(s => s + "b", "a", 0)
// => "a"nest(s => s + "b", "a", 1)
// => "ab"nest(s => s + "b", "a", 5)
// => "abbbbb"object_map(v => v, v => v + 2, [1,2,3])
// => {"1":3,"2":4,"3":5}object_map(v => v, v => v + 2, 1)
// => {"1":3}object_map((v, i) => i + 1, (v, i) => v + 2, [4,5,6])
// => {"1":6,"2":7,"3":8}object_map((v, i) => i + 1, (v, i) => v + 2, 3)
// => {"1":5}object_map((v, i) => i + 1, (v, i) => v + 2, {})
// => {"1":3,"2":4}ordered_object([["a",2]])
// => {"a":2}ordered_object([["z",2],["b",3]])
// => {"z":2,"b":3}ordered_object([["z",2],["b",3],["b",4]])
// => {"z":2,"b":4}part({"person":{"pk.0":{"pk":"pk.0","full_name":"Deanna Gardner"},"pk.1":{"pk":"pk.1","full_name":"Brian Rodriguez"},"pk.2":{"pk":"pk.2","full_name":"Rebecca Burke"},"pk.3":{"pk":"pk.3","full_name":"Brian Taylor"},"pk.4":{"pk":"pk.4","full_name":"Heather Watkins"},"pk.5":{"pk":"pk.5","full_name":"Chris Villegas"},"pk.6":{"pk":"pk.6","full_name":"Danielle Henderson"},"pk.7":{"pk":"pk.7","full_name":"Matthew Ramirez"}},"transaction":{"pk.0":{"pk":"pk.0","amount":370},"pk.1":{"pk":"pk.1","amount":930},"pk.2":{"pk":"pk.2","amount":740},"pk.3":{"pk":"pk.3","amount":560}}}, "person", "pk.0", "full_name")
// => ["Deanna Gardner"]part({"person":{"pk.0":{"pk":"pk.0","full_name":"Deanna Gardner"},"pk.1":{"pk":"pk.1","full_name":"Brian Rodriguez"},"pk.2":{"pk":"pk.2","full_name":"Rebecca Burke"},"pk.3":{"pk":"pk.3","full_name":"Brian Taylor"},"pk.4":{"pk":"pk.4","full_name":"Heather Watkins"},"pk.5":{"pk":"pk.5","full_name":"Chris Villegas"},"pk.6":{"pk":"pk.6","full_name":"Danielle Henderson"},"pk.7":{"pk":"pk.7","full_name":"Matthew Ramirez"}},"transaction":{"pk.0":{"pk":"pk.0","amount":370},"pk.1":{"pk":"pk.1","amount":930},"pk.2":{"pk":"pk.2","amount":740},"pk.3":{"pk":"pk.3","amount":560}}}, "person", ["pk.0","pk.1"], "full_name")
// => ["Deanna Gardner","Brian Rodriguez"]part({"person":{"pk.0":{"pk":"pk.0","full_name":"Deanna Gardner"},"pk.1":{"pk":"pk.1","full_name":"Brian Rodriguez"},"pk.2":{"pk":"pk.2","full_name":"Rebecca Burke"},"pk.3":{"pk":"pk.3","full_name":"Brian Taylor"},"pk.4":{"pk":"pk.4","full_name":"Heather Watkins"},"pk.5":{"pk":"pk.5","full_name":"Chris Villegas"},"pk.6":{"pk":"pk.6","full_name":"Danielle Henderson"},"pk.7":{"pk":"pk.7","full_name":"Matthew Ramirez"}},"transaction":{"pk.0":{"pk":"pk.0","amount":370},"pk.1":{"pk":"pk.1","amount":930},"pk.2":{"pk":"pk.2","amount":740},"pk.3":{"pk":"pk.3","amount":560}}}, null, "pk.0", "pk")
// => ["pk.0","pk.0"]part({"person":{"pk.0":{"pk":"pk.0","full_name":"Deanna Gardner"},"pk.1":{"pk":"pk.1","full_name":"Brian Rodriguez"},"pk.2":{"pk":"pk.2","full_name":"Rebecca Burke"},"pk.3":{"pk":"pk.3","full_name":"Brian Taylor"},"pk.4":{"pk":"pk.4","full_name":"Heather Watkins"},"pk.5":{"pk":"pk.5","full_name":"Chris Villegas"},"pk.6":{"pk":"pk.6","full_name":"Danielle Henderson"},"pk.7":{"pk":"pk.7","full_name":"Matthew Ramirez"}},"transaction":{"pk.0":{"pk":"pk.0","amount":370},"pk.1":{"pk":"pk.1","amount":930},"pk.2":{"pk":"pk.2","amount":740},"pk.3":{"pk":"pk.3","amount":560}}}, "person", ["pk.1","pk.7"])
// => [{"pk":"pk.1","full_name":"Brian Rodriguez"},{"pk":"pk.7","full_name":"Matthew Ramirez"}]range(0)
// => []range(5)
// => [0,1,2,3,4]range(0, 0)
// => [0]range(1, 5)
// => [1,2,3,4,5]range(0, 4)
// => [0,1,2,3,4]range(0, 4, 2)
// => [0,2,4]repeat(1)
// => [1]repeat(1, 3)
// => [1,1,1]repeat(1, 0)
// => []riffle(iterable, separator)
- riffle separator between successive elements in a list
riffle([1,2,3], "s")
// => [1,"s",2,"s",3]riffle([1], "s")
// => [1]riffle([], "s")
// => []scan(v => console.log(a), [1, 2, 3])
1
2
3
// => scan(v => console.log(a), {a:2, b:3, c:4})
2
3
4
// => scan((v, i) => console.log(i), [1, 2, 3])
0
1
2
// => scan((v, i) => console.log(i), {a:2, b:3, c:4})
a
b
c
// => sort([3,1,2])
// => [1,2,3]sort([3,1,2], (a, b) => a > b)
// => [1,2,3]sort([3,1,2], (a, b) => a < b)
// => [3,2,1]sort({"a":3,"b":1,"c":2})
// => [1,2,3]sort({"a":3,"b":1,"c":2}, (a, b) => a > b)
// => [1,2,3]sort({"a":3,"b":1,"c":2}, (a, b) => a < b)
// => [3,2,1]// => [3,1,2]// => {"a":3,"b":1,"c":2}sort_by([4,3,10,2])
// => [2,3,4,10]sort_by([[2,"b"],[1,"a"]], arr => arr[0])
// => [[1,"a"],[2,"b"]]sort_by([[2,3],[2,1],[1,1]], [null,null])
// => [[1,1],[2,1],[2,3]]sort_by([[2,3],[2,1],[1,1]], [0,1])
// => [[1,1],[2,1],[2,3]]sort_by([{"a":2},{"a":3},{"a":1}], "a")
// => [{"a":1},{"a":2},{"a":3}]sort_by([{"a":2,"b":3},{"a":2,"b":1},{"a":1,"b":1}], ["a","b"])
// => [{"a":1,"b":1},{"a":2,"b":1},{"a":2,"b":3}]to_array(0)
// => [0]to_array("a")
// => ["a"]to_array([0,1,2,[3,4],{"a":5}])
// => [0,1,2,[3,4],{"a":5}]to_array({"a":1,"b":2,"c":[3,4],"d":{"a":5}})
// => [1,2,[3,4],{"a":5}]to_array()
// => []to_array("", 0, 1, 2, 3)
// => ["",0,1,2,3]to_array("", 0, 1, [2,3], 4)
// => ["",0,1,2,3,4]to_array("", 0, 1, [2,3], {"a":4,"b":5})
// => ["",0,1,2,3,4,5]values({"a":"b","c":"d","e":"f"})
// => ["b","d","f"]zip(array1, array2, ...)
- returns [[array1[0], array2[0], ...], [array1[1], array2[1], ...], ...]
zip([1,2,3], [4,5,6])
// => [[1,4],[2,5],[3,6]]