JavaScript 从数组中删除项的不同方法
在Javascript中,我们没有任何array.remove()方法来删除元素。代替使用任何方法,Javascript有不同的方法来从数组中删除项。
在本文中,我们将看到使用Javascript从数组中删除项的不同方法。
- 使用for循环和push方法
- 使用pop()方法
- 使用shift()方法
- 使用splice()方法
- 使用filter()方法
- 使用delete运算符
- 使用Lodash _.remove()方法
注意: 还有一些由JavaScript内置方法创建的其他方法。
方法1:使用for循环和push()方法
这种方法不会改变原始数组。首先,您需要创建一个空的数组,然后循环遍历新数组,并只推送您想要的元素。
示例:
Javascript
let arr = ['gfg', 'GFG', 'g', 'GeeksforGeeks'];
const arrayWithoutGFG = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] !== 'GFG') {
arrayWithoutGFG.push(arr[i]);
}
}
// arr is same
console.log(arr);
console.log(arrayWithoutGFG);
输出
[ 'gfg', 'GFG', 'g', 'GeeksforGeeks' ]
[ 'gfg', 'g', 'GeeksforGeeks' ]
方法2:使用pop()方法
这个方法用于删除数组的最后一个元素并将删除的项作为输出返回。删除元素会减少数组的长度。
示例: 在这个例子中,pop()方法被用来删除数组的元素。
Javascript
function myFunc() {
let arr = ['gfg', 'GFG', 'g', 'GeeksforGeeks'];
let name = arr.pop();
console.log(name);
console.log(arr.length)
}
myFunc();
输出
GeeksforGeeks
3
方法3:使用 shift() 方法
此方法用于删除数组的第一个元素。此方法用于返回数组的第一个元素。它还会减少原始数组的长度。
示例: 在此示例中,使用 shift() 方法删除数组的第一个元素。
JavaScript
function myFunc() {
let arr = ['gfg', 'GFG', 'g', 'GeeksforGeeks'];
let name = arr.shift();
console.log(name);
console.log(arr.length)
}
myFunc();
输出
gfg
3
方法4:使用splice()方法
此方法用于删除现有元素或通过删除/添加新元素来替换数组的内容。
示例: 在此示例中,splice方法将用于从数组中删除项目。
Javascript
function myFunc() {
let myFruit = ["apple", "banana", "grapes", "strawberry"];
const removed = myFruit.splice(2, 2, "guava");
// Removed element in the array
console.log(removed);
// Length of the original array after deleting
console.log(myFruit.length);
// Original array after deleting the array
console.log(myFruit);
}
myFunc();
输出
[ 'grapes', 'strawberry' ]
3
[ 'apple', 'banana', 'guava' ]
方法5: 使用filter()方法
该方法返回一个新的数组。只有满足函数条件的数组元素传递给新数组。该方法不会改变原始数组。
示例: 在这个示例中,我们将使用filter()方法从数组中删除一个元素。
Javascript
const arr = [2, 7, 9, 15, 19];
function isPrime(n) {
for (let i = 2; n > i; i++) {
if (n % i === 0) {
return false;
}
}
return n > 1;
}
console.log(arr.filter(isPrime));
输出
[ 2, 7, 19 ]
方法6:使用 delete 操作符
这个操作符更具体地用于删除JavaScript对象的属性。
示例: 在这个示例中,我们将使用JavaScript的delete操作符来从数组中删除项目。
Javascript
const arr = [2, 7, 9, 15, 19];
delete arr[3];
console.log(arr);
输出
[ 2, 7, 9, <1 empty item>, 19 ]
方法7:使用 Lodash _.remove() 方法
_.remove() 方法用于从数组中移除谓词函数返回为真的所有元素,并返回被移除的元素。
安装步骤:
npm install lodash
例子:
JavaScript
const _ = require("lodash");
let arr = [1, 2, 3, 4, 5];
let even = _.remove(arr, function (n) {
return n % 2 == 0;
});
console.log('Original Array ', arr);
console.log('Removed element array ', even);
输出:
Original Array [ 1, 3, 5 ]
Removed element array [ 2, 4 ]