Separate client and server codes. Keep everything in one git repo for simplicity
[vchess.git] / client / client_OLD / javascripts / utils / array.js
CommitLineData
1d184b4c
BA
1// Remove item in array (if present)
2var removeItem = function(array, rfun)
3{
4 let index = array.findIndex(rfun);
5 if (index >= 0)
6 array.splice(index, 1);
7}
8
9// Remove several item matching a condition
10var removeMultiple = function(array, rfun)
11{
12 // Reverse loop because of the splice below
13 for (let i=array.length-1; i>=0; i--)
14 {
15 if (rfun(array[i]))
16 array.splice(i, 1);
17 }
18}
19
20// Double array intialization
21var doubleArray = function(size1, size2, initElem)
22{
23 return _.map(_.range(size1), () => {
24 return _.map(_.range(size2), () => {
25 return initElem; //can be undefined
26 })
27 });
28}
29
30var copyDoubleArray = function(arr)
31{
32 return _.map(_.range(arr.length), (el1,i) => {
33 return _.map(_.range(arr[0].length), (el2,j) => {
34 return arr[i][j];
35 })
36 });
37}