javascript splice without changing array

JavaScript
I assume you mean that you want to create a new list without a given element, 
instead of changing the original list. One way is to use a list comprehension:

m = ['a', 'b', 'c']
n = [x for x in m if x != 'a']
n is now a copy of m, but without the 'a' element.

Another way would of course be to copy the list first

m = ['a', 'b', 'c']
n = m[:]
n.remove('a')
If removing a value by index, it is even simpler

n = m[:index] + m[index+1:]var myArray = ["one", "two", "three"];
var cloneArray = myArray.slice();

myArray.splice(1, 1);

console.log(myArray);
console.log(cloneArray);function replaceAt(array, index, value) {
  const ret = array.slice(0);
  ret[index] = value;
  return ret;
}
const newArray = replaceAt(items, index, "J");


Source

Also in JavaScript: