这就是我想要做的,我有一个数组
var arr = [1, 2, 3, 4, 5];
然后我想通过删除项目一次创建一个新数组,即当我删除索引0处的项目时我应该[2, 3, 4, 5]
当我删除索引1处的项目时,我应该{{1直到我到达[1, 3, 4, 5]
并且每次删除项目时我仍然希望我的arr.length-1
完整不变
使用javaScript我已经尝试了一些数组方法,如splice,slice但所有这些都改变了arr的值
我如何使用javascript或python进行处理。
答案 0 :(得分:0)
对于JavaScript:
尝试使用slice()制作副本(切片返回您可以操作而不影响原始数组的数组的浅表副本),然后使用splice()删除所需索引处的值:< / p>
newArray = slice(arr).splice(index, 1);
答案 1 :(得分:0)
对于Python:
array = [1,2,3,4,5];
newarray = [计数器的值,枚举值(数组),如果计数器!= 0]
每次你使用这个列表理解PS时,数组都不会被修改!所以基本上你会为newarray获得相同的输出。
如果你想每次删除一个元素时都需要创建一个函数而不是列表理解(当然它可能但可能会更不易读)。
答案 2 :(得分:0)
对于Javascript,使用ES6数组扩展运算符和切片方法,
var new_array = [...a.slice(0, index), ...a.slice(index + 1)];
const cut = (a, i) => [...a.slice(0, i), ...a.slice(i + 1)];
let arr = [2, 2, 2, 4, 2];
console.log(cut(arr, 3));
console.log(arr);