js一次删除数组中的多个元素

news/2024/7/19 14:27:39 标签: js

js一次删除数组中的多个元素


在我们对一些列表项的数据进行操作时,经常会有删除多个列表项的情况,在不进行接口请求的情况下就需要我们前端进行删除然后缓存,下面介绍下删除数组中多个元素的方法
一、filter
filter()方法会创建一个新数组,原数组的每个元素传入回调函数中,回调函数中有return返回值,若返回值为true,这个元素保存到新数组中;若返回值为false,则该元素不保存到新数组中;原数组不发生改变。

let list = [
	{
		id: 1,
		name: 1,
	},
	{
		id: 2,
		name: 2,
	},
	{
		id: 3,
		name: 3,
	},
	{
		id: 4,
		name: 4,
	}
]
let delIndexList = [0, 2] // 要删除的序列
var newList = list.filter((item, index) => {
	return delIndexList.indexOf(index) == -1
})
console.log(newList) // [{id: 2, name: 2},{id: 4, name: 4}]

二、for逆循环配合splice

let list = [
	{
		id: 1,
		name: 1,
	},
	{
		id: 2,
		name: 2,
	},
	{
		id: 3,
		name: 3,
	},
	{
		id: 4,
		name: 4,
	}
]
let delIndexList = [0, 2] // 要删除的序列
if (delIndexList.length !== 0) {
  for (let i = delIndexList.length - 1; i >= 0; i--) {
    list.splice(delIndexList[i], 1)
  }
}
console.log(list) // [{id: 2, name: 2},{id: 4, name: 4}]

http://www.niftyadmin.cn/n/1769487.html

相关文章

LINUX预习

LINUX 前言 c语言如果说是一切皆指针,JAVA就是一切皆对象,那么linux可以称得上一切皆文件。 基本知识 1.绝对路径 vs 相对路径 形如: /usr/share/tomcat/logs/ 以根目录开头的, 称为绝对路径. 形如: ./logs 以 . 或者 .. 开头的, 称为相对路径. 2.使用…

使用vue过滤器写工具函数

vue中的过滤器可以用在两个地方&#xff1a;双花括号插值和 v-bind 表达式 。过滤器应该被添加在 JavaScript 表达式的尾部&#xff0c;由“管道”符号>’|指示。 使用&#xff1a; <!-- 在双花括号中 --> {{ msg | msgFormat}}<!-- 在 v-bind 中 --> <div …

移除链表元素(临时)

移除链表元素 题目描述 测试结果 具体代码 package test_26;class ListNode { int val;ListNode next;ListNode(int x) { val x; } } class Solutions {public ListNode removeElements(ListNode head, int val) {if(headnull) return null;ListNode newHeadnew ListNod…

如何找到网页上默认的保存密码

凭据管理器 点击Windows 凭据 特别注意Windows凭据查看密码&#xff0c;必须要本身电脑有账号和密码&#xff0c;就是登录界面只要需要密码就可以啦&#xff08;因为要验证&#xff09;

使用vue自定义指令写工具函数

vue中有很多v- 前缀的特殊 attribute&#xff0c;这就是vue的指令。指令的职责是&#xff0c;当表达式的值改变时&#xff0c;将其产生的连带影响&#xff0c;响应式地作用于 DOM。常见的vue指令有&#xff1a;v-bind、v-on、v-model、v-if、v-show等。但是有些时候vue内置的这…

JVM调优预习(note)

在线调优JVM——GC-turning 前言 马士兵老师公开课真的讲的挺好的&#xff0c;不过自身水平不够&#xff0c;整理一下自己听课的感觉 为什么使用root searching JVM调优 垃圾回收 垃圾&#xff1a;当有一个对象没有任何引用指向 java通过垃圾回收器&#xff0c;一般不需要关…

js中call()、apply()、bind()的使用及实现

使用 call()、apply()、bind()都是用来改变this的指向的。 一、A.a.call(B, x, y) A是一个对象&#xff0c;a是对象A里的方法函数&#xff0c;x和y是a函数的参数&#xff0c;B也是一个对象&#xff0c;但对象B想调用对象A的a方法&#xff0c;那么call()的作用就是改变函数a的t…

三角形最大和问题

题目描述 给一个数组至少三个数&#xff0c;任意选出数组中三个数&#xff0c;求满足三角形的三个数的最大和 例如&#xff1a; 1 2 3 不满足三角形&#xff0c;返回0 1 2 3 4 满足三角形最大和为2349&#xff0c;返回9 package test_26; import java.lang.reflect.Array…