13

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

 3 years ago
source link: https://blog.csdn.net/weixin_42965334/article/details/111838798
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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}]

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK