一、数组删除指定位置元素
数组是一个非常基础和常用的数据结构,它在JavaScript中也得到了广泛的应用。在处理数组时,有时需要删除数组中的某个元素,下面是删除指定位置元素的代码示例:
let arr = ['a', 'b', 'c', 'd', 'e'];
let index = 2;
arr.splice(index, 1);
console.log(arr); // ["a", "b", "d", "e"]
通过 splice()
方法可以删除数组中指定位置的元素。其中,第一个参数为要删除的元素的索引,第二个参数为要删除的元素个数。
二、JS数组删除指定元素
如果要删除 JS 数组中指定的元素,可以使用 splice()
或者 filter()
方法。splice()
方法已经在一号小标题中讲解过了,这里主要介绍如何使用 filter()
方法进行删除:
let arr = ['a', 'b', 'c', 'd', 'e'];
let removeItem = 'c';
arr = arr.filter(item => item !== removeItem);
console.log(arr); // ["a", "b", "d", "e"]
通过 filter()
方法过滤数组,返回一个新的数组,不包含被删除的元素。
三、从数组中删除指定元素
在 Vue 中,如果要从数组中删除指定元素,可以使用 splice()
方法或 Vue.set()
方法:
// 使用 splice() 方法
this.items.splice(this.items.indexOf(item), 1);
// 使用 Vue.set() 方法
Vue.set(this.items, this.items.indexOf(item), null);
this.items = this.items.filter(item => item !== null);
以上代码中,第一个示例使用 splice()
方法。this.items
表示要删除的数组,this.items.indexOf(item)
表示要删除的元素在数组中的位置。第二个示例中,使用 Vue.set()
方法把要删除的元素位置的值设置为 null
。最后,使用 filter()
方法过滤掉空元素。
四、C数组删除指定元素
C语言中,如果要删除数组中指定的元素,需要采用将后面的元素依次往前移动,然后修改数组的长度来达到删除的效果:
// 删除数组中的第二个元素
int arr[5] = {1, 2, 3, 4, 5};
int index = 1;
for (int i = index; i < 4; i++) {
arr[i] = arr[i+1];
}
arr[4] = 0; // 最后一个元素赋值为0
以上代码中,使用 for 循环把要删除的元素之后的元素往前移动一位,最后一个元素赋值为 0。删除元素后,需要手动修改数组的长度。
五、对象数组删除指定元素
如果需要从对象数组中删除指定元素,可以使用 filter()
方法进行删除。以下是代码示例:
var dataArr = [{id:0,name:'Mike'},{id:1,name:'Lee'},{id:2,name:'Vanessa'},{id:3,name:'Lucas'}];
var id = 2;
dataArr = dataArr.filter(function(item){
return item.id != id;
});
console.log(dataArr); // [{id:0,name:'Mike'},{id:1,name:'Lee'},{id:3,name:'Lucas'}]
以上代码中,通过 filter()
方法过滤掉数组中 id
等于 2 的元素,返回删除后的新数组。
六、数组怎么删除指定的元素
如果需要删除 JS 数组中指定的元素,可以使用 splice()
或 filter()
方法进行删除。下面是示例:
// 使用 splice() 方法
var arr = ['apple','orange','banana','kiwi'];
var i = arr.indexOf('orange')
if(i != -1) {
arr.splice(i, 1)
}
console.log(arr) // ["apple", "banana", "kiwi"]
// 使用 filter() 方法
var arr = ['apple','orange','banana','kiwi'];
arr = arr.filter(function(item) {
return item !== 'orange'
})
console.log(arr); // ["apple", "banana", "kiwi"]
以上代码中,使用 splice()
方法和 filter()
方法都可以删除数组中的 'orange'
元素。
七、C# 从数组中删除指定元素
如果在 C# 中需要从数组中删除指定元素,可以使用 List<T>
类及其 Remove()
方法进行删除:
List<int> list = new List<int>() { 1, 3, 5, 7, 9 };
int item = 5;
if (list.Contains(item))
list.Remove(item);
Console.WriteLine(list); // [1, 3, 7, 9]
以上代码中,使用 List<T>
类及其 Remove()
方法删除数组中的值为 5 的元素。
八、C++ 删除数组中指定元素
如果需要在 C++ 中删除数组中指定元素,可以使用 vector
容器及其 erase()
方法进行删除:
vector<int> arr{1, 3, 5, 7, 9};
int item = 5;
for (auto it = arr.begin(); it != arr.end();) {
if (*it == item)
it = arr.erase(it);
else
++it;
}
for (auto i : arr)
cout << i << " "; // 1 3 7 9
以上代码中,使用了 vector
容器及其 erase()
方法删除了数组中的值为 5 的元素。
九、ES6 删除数组指定元素
在 ES6 中,如果需要删除数组中的指定元素,可以使用 filter()
方法或者 ES6 扩展运算符进行删除。以下是代码示例:
// 使用 filter() 方法
let arr = [1, 2, 3, 4, 5];
let item = 3;
arr = arr.filter(i => i !== item);
console.log(arr); // [1, 2, 4, 5]
// 使用 ES6 扩展运算符
let arr = [1, 2, 3, 4, 5];
let item = 3;
arr = arr.slice(0, arr.indexOf(item)).concat(arr.slice(arr.indexOf(item) + 1));
console.log(arr); // [1, 2, 4, 5]
以上代码中,filter()
方法和 ES6 扩展运算符都可以用来删除数组中的值为 3 的元素,返回删除后的新数组。