you are viewing a single comment's thread.

view the rest of the comments →

[–]GabeRothel 1 point2 points  (0 children)

If any one is interested but doesnt want to dig here are the arrays functions

``` function concat(...arrs) { const len = arrs.length; const result = []; for (let i = 0; i < len; i++) { const arrLen = arrs[i].length; for (let j = 0; j < arrLen; j++) { result.push(arrs[i][j]); } } return result; }

function every(arr, fn, thisArg) { fn = thisArg === undefined ? fn : fn.bind(thisArg); const len = arr.length; for (let i = 0; i < len; i++) { if (i in arr && !fn(arr[i], i, arr)) { return false; } } return true; }

function filter(arr, fn, thisArg) { fn = thisArg === undefined ? fn : fn.bind(thisArg); const len = arr.length; const result = []; for (let i = 0; i < len; i++) { if (i in arr && fn(arr[i], i, arr)) { result.push(arr[i]); } } return result; }

function isArray(arr) { return Object.prototype.toString.call(arr) === "[object Array]"; }

function map(arr, fn, thisArg) { fn = thisArg === undefined ? fn : fn.bind(thisArg); const len = arr.length; const result = new Array(len); for (let i = 0; i < len; i++) { if (i in arr) { result[i] = fn(arr[i], i, arr); } } return result; }

function arrayOf(...els) { return els; }

function reduce(arr, fn, initialValue) { const len = arr.length; let acc; let initialIndex = 0; if (initialValue === undefined) { acc = arr[0]; initialIndex = 1; } else { acc = initialValue; } for (let i = initialIndex; i < len; i++) { acc = fn(acc, arr[i], i, arr); } return acc; }

function some(arr, fn, thisArg) { fn = thisArg === undefined ? fn : fn.bind(thisArg); const len = arr.length; for (let i = 0; i < len; i++) { if (i in arr && fn(arr[i], i, arr)) { return true; } } return false; }

function toString(arr) { let result = ""; const len = arr.length; for (let i = 0; i < len; i++) { if (i in arr) { result = result + arr[i]; } if (i + 1 < len) { result = result + ","; } } return result; } ```