Array: Difference between revisions

added ReScript
(added ReScript)
Line 257:
 
reduce range(2;n+1) as $i (1; . * $i) # => n!</lang>
 
===[[ReScript]]===
<lang ReScript>let arr1 = [4, 2, 8, 14, 3, 6, 22, 17]
 
let _ = Js.Array2.push(arr1, 5)
 
arr1[3] = 9
 
let isEven = x => mod(x, 2) == 0
 
let square = x => x * x
 
let arr2 = Js.Array2.filter(arr1, isEven)
let arr3 = Js.Array2.map(arr2, square)
 
let total = Js.Array2.reduce(arr3, \"+", 0)
Js.log2("total: ", Js.Int.toString(total))
 
let arr4 = Js.Array2.sortInPlaceWith(arr3, (a, b) => a - b)
let arr5 = Js.Array2.slice(arr4, ~start=2, ~end_=4)
 
Js.Array2.forEach(arr5, x => Js.log(x))
 
switch Js.Array2.find(arr1, x => x < 0) {
| Some(x) => Js.log2("found: ", x)
| None => Js.log("no negative element found")
}</lang>
{{out}}
<pre>$ bsc arr.res > arr.js
$ node arr.js
total: 604
36
64
no negative element found
</pre>
 
===[[REXX]]===