删除数组中的元素非常麻烦,有些方法在删除之前必须知道该元素在数组中的位置才可以将其删除,下面介绍几种删除数组中元素的方法。
1. JavaScript 中 splice() 方法可删除从 index 处开始的零个或多个元素。
语法: arrayObject.splice(index,howmany) // index必需为整数,规定删除项目的位置,若使用负数可从数组结尾处开始删。 howmany为要删除的项目数量。
2.lodash中的pull()方法,移除数组中所有和 values 相等的元素.
语法: _.pull(array, [values]) //array为数组,values为要删除的值,意思为将移除数组中所有和 values 相等的元素
例子: var array=[0,1,2,3]; _.pull(array,0,1); console.log(array); 结果: [2,3]
3.lodash中的pullAt()方法,移除指定索引的数组元素,并返回移除的元素。
语法: _.pullAt(array, [indexes]) //array为需要修改的数组,[indexes]为需要移除元素的索引, 数组的索引值
例子: var array = [5, 10, 15, 20]; var evens = _.pullAt(array, 1, 3); console.log(array); // 打印结果为 [5, 15] console.log(evens); // 打印结果为 [10, 20]4.lodash中的remove()方法,移除数组中满足某
条件的所有元素 ,返回的是被移除元素数组。
语法: _.remove(array, [predicate=_.identity], [thisArg]) //array为需要修改的数组[predicate=_.identity] (Function|Object|string): 遍历判断的方法,[thisArg] (*): 和参数predicate绑定
例如: var array = [1, 2, 3, 4]; var evens = _.remove(array, function(n) { return n % 2 == 0; //必须写return }); console.log(array); // => [1, 3] console.log(evens); // => [2, 4]
语法:
_.pull(array, [values]) //array为数组,values为要删除的值,意思为将移除数组array
中所有和 values 相等的元素