challenge 3

by Darby Rathbone

JavaScript

/* ------------------------------------------------------------------------------------------------
CHALLENGE 3

Write a function named removeOne that takes in a number and an array. If the number divided by three has a remainder of two, pop one element off of the array.

Hint: you may want to look into the modulo operation.

Then, write a function named removeElements that takes in an array and a callback. This function should use a for loop to iterate over the array and invoke the callback once for each element in the array.

Return the modified array.
------------------------------------------------------------------------------------------------ */

const removeOne = (num, arr) => {
	if(num%3==2)
  {
  console.log(num,arr);
  	arr.pop();
  }
  return arr;
};

const removeElements = (arr, callback) => {
	let newarr = arr.slice();
	for(let i = 0;i<arr.length-1;i++)
  {
  	newarr = callback(arr[i], newarr);
  }
  return newarr;
};

//testing code
let a = [1,2,3,4,5,6];
console.log(removeElements([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], removeOne));
console.log(removeWithAnon([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]).length);