| Line 89: |
Line 89: |
| | }; | | }; |
| | }; | | }; |
| | + | |
| | + | function indexinterpolate(obj,i) { return (obj[i] != undefined) ? obj[i] : obj}; |
| | + | |
| | + | // helper function for checking a part of an array exists |
| | + | function indexcheck(obj,i) { return (obj[i] != undefined) ? obj[i] : undefined }; |
| | + | |
| | + | // dive selects matrix.a.b.c.d from the array called matrix and 'a.b.c.d' as string |
| | + | // if a.b.c.d does not exists, it returns the substructure until the substructure exists, if d does not exist, it returns matrix.a.b.c e.g. |
| | + | |
| | + | function dive(array, read){ |
| | + | return read.split('.').reduce(indexinterpolate, array); |
| | + | } |
| | + | |
| | + | function check(array, read){ |
| | + | return read.split('.').reduce(indexcheck, array); |
| | + | } |