Refactor Global Variables Out of Functions help needed

Trying really hard to work this out without help but I can’t. Why isn’t this code working?

https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/functional-programming/refactor-global-variables-out-of-functions

// the global variable
var bookList = ["The Hound of the Baskervilles", "On The Electrodynamics of Moving Bodies", "Philosophiæ Naturalis Principia Mathematica", "Disquisitiones Arithmeticae"];

/* This function should add a book to the list and return the list */
// New parameters should come before the bookName one

// Add your code below this line
function add (bookList,bookName) {
  let tempArr = [...bookList];
  return tempArr.push(bookName);
  
  // Add your code above this line
}

/* This function should remove a book from the list and return the list */
// New parameters should come before the bookName one

// Add your code below this line
function remove (bookList,bookName) {
  let tempArr = [...bookList];
  if (tempArr.indexOf(bookName) >= 0) {
    let index = tempArr.indexOf(bookName);
    //if bookName is in the array basically
    return tempArr.splice(index,1);
    
    // Add your code above this line
    }
}

var newBookList = add(bookList, 'A Brief History of Time');
var newerBookList = remove(bookList, 'On The Electrodynamics of Moving Bodies');
var newestBookList = remove(add(bookList, 'A Brief History of Time'), 'On The Electrodynamics of Moving Bodies');

console.log(bookList);

I figured out what was wrong. But can someone tell me why this doesn’t work:

return tempArr.splice(index,1);

but this does:

tempArr.splice(index,1);
    return tempArr;