javascript – freecodecamp Challenges- Seek and Destroy

javascript – freecodecamp Challenges- Seek and Destroy

You can create an array of all values that are supposed to be removed. Then use Array.filter to filter out these values.

Note: Array.splice will change original array.

function destroyer() {
  var arr = arguments[0];
  var params = [];

  // Create array of all elements to be removed
  for (var k = 1; k < arguments.length; k++)
    params.push(arguments[k]);
  
  // return all not matching values
  return arr.filter(function(item) {
    return params.indexOf(item) < 0;
  });
}

console.log(destroyer([1, 2, 3, 1, 2, 3], 2, 3));
function destroyer(arr) {
  /* Put all arguments in an array using spread operator and remove elements 
     starting from 1 using slice intead of splice so as not to mutate the initial array */
  const args = [...arguments].slice(1);
  /* Check whether arguments include elements from an array and return all that 
     do not include(false) */
  return arr.filter(el => !args.includes(el));
}

console.log(destroyer([1, 2, 3, 1, 2, 3], 2, 3));

javascript – freecodecamp Challenges- Seek and Destroy

This worked for me:

function destroyer(arr) {
    // Remove all the values

    var args = Array.from(arguments);
    var filter = [];

    for (i = 0; i < args[0].length; i++) {
        for (j = 1; j < args.length; j++) {
            if (args[0][i] === args[j]) {
                delete args[0][i];
            }
        }
    }

    return args[0].filter(function(x) {
        return Boolean(x);
    });
}

console.log(
    destroyer([1, 2, 3, 1, 2, 3], 2, 3)
);

Related posts

Leave a Reply

Your email address will not be published. Required fields are marked *