删除一项或几项可以使用filter删除
数组删除
filter()方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素 ;
不会改变原始数组;return后面判断结果,取布尔值,true的话就添入新的filter数组中,
false的话,不会添进filter的数组中。
// 平常我们删除数组中的值,常用的是splice方法,不过有时候filter方法,也许会带来妙用
// 直接删除数组中的某些值
let arr1 = ["刘备","关羽","张飞","赵云"]
// 过滤掉 "赵云" 和 "刘备" 这两项,即删除 "赵云" 和 "刘备" 这两项
let newArr1 = arr1.filter((item)=>{ return item != "赵云" & item != "刘备" })
console.log(newArr1); // ["关羽", "张飞"]
// 删除数组中的某个索引对应的值
let arr2 = ["孙悟空", "猪八戒", "沙和尚", "唐僧", "白龙马"]
// 过滤掉索引为2的那一项,即删除索引为2的那一项
let newArr2 = arr2.filter((item,index) => { return index != 2 })
console.log(newArr2); // ["孙悟空", "猪八戒", "唐僧", "白龙马"]
indexOf 是否包含在数组中 是0 否-1 [1].indexOf(1)==0
splice 删除数据
var colors = ["red", "blue", "grey"];
colors.forEach(function(item, index, arr) {
if(item == "red") {
arr.splice(index, 1);
}
});