Q:

Write a JavaScript program to mutate the original array to filter out the values specified, based on a given iterator function

0

Write a JavaScript program to mutate the original array to filter out the values specified, based on a given iterator function

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

const pullBy = (arr, ...args) => {
  const length = args.length;
  let fn = length > 1 ? args[length - 1] : undefined;
  fn = typeof fn == 'function' ? (args.pop(), fn) : undefined;
  let argState = (Array.isArray(args[0]) ? args[0] : args).map(val => fn(val));
  let pulled = arr.filter((v, i) => !argState.includes(fn(v)));
  arr.length = 0;
  pulled.forEach(v => arr.push(v));
};

var myArray = [{ x: 1 }, { x: 2 }, { x: 3 }, { x: 1 }];

pullBy(myArray, [{ x: 1 }, { x: 3 }], o => o.x);

console.log(myArray);

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

Similar questions


need a help?


find thousands of online teachers now