Cómo hacer una función de división manualmente y ser invocada de manera similar o muy similar a la forma en que se hace en JavaScript, por ejemplo:
let arr = [0, 1, 2, 3, 4, 5]Función JS:
arr = arr.slice(1, 3) //it returns: [1,2]El resultado que quiero:
arr = arr.myManualSlice(1, 3) //it returns: [1,2]Si este ejemplo anterior es imposible de hacer, me gustaría hacerlo lo más cerca posible. Lo más cercano que pude hacer fue así a continuación:
function myManualSlice(arr, init, end) { let result = [] if (end == null) { for (let i = 0; i < arr.length; i++) { if (i >= init) { result.push(arr[i]) } } } else { for (let i = 0; i < arr.length; i++) { if (i >= init && i < end) { result.push(arr[i]) } } } return result } let arr = [0, 1, 2, 3, 4, 5]Mi resultado más cercano:
arr = myManualSlice(arr, 1, 3) //it returns: [1,2]NOTA: No estoy interesado en cómo hacer mejor el cuerpo de la función, ya que hay muchas formas diferentes de hacerlo y la función devuelve lo que espero. Solo estoy interesado en hacer la invocación de la función cerca de la forma de corte de JavaScript. La lógica del cuerpo de la función solo se puede cambiar para este propósito.