如何通过打字稿中的索引删除项目?
赞:
const myArray = ['a', 'b', 'c', 'd']
// how to remove index 2?
答案 0 :(得分:3)
您可以使用a bunch of reasons,它是不可变的,并以索引作为参数:
const arr = ['a', 'b', 'c', 'd'];
function removeAt(arr, i) {
return [...arr.slice(0, i), ...arr.slice(i+1)];
}
console.log(...removeAt(arr, 0));
console.log(...removeAt(arr, 1));
console.log(...removeAt(arr, 2));
console.log(...removeAt(arr, 3));
答案 1 :(得分:1)
.filter()
的不变方式您可以使用.filter()
方法来过滤给定索引处的项目。
const myArray = ['a', 'b', 'c', 'd']
const indexToDelete = 2
console.log( myArray.filter( (elem, i) => i !== indexToDelete) )
// Logs 'a', 'b', 'd'
这不会修改原始数组。
.splice()
可变的方式如果您不必担心原始的myArray
被修改,可以这样:
const myArray = ['a', 'b', 'c', 'd']
const indexToDelete = 2
myArray.splice(indexToDelete, 1)
console.log(myArray)
// Logs 'a', 'b', 'd'