JS查找数组中是否包含某个元素或对象「建议收藏」

JS查找数组中是否包含某个元素或对象「建议收藏」做业务需求时遇到一个功能模块需要动态增删数组对象,需求本身完成不难,但是写出来的代码我总感觉很冗余,于是我在网上找了很久,看有没有现成的轮子可以使用,最终找到了es6中的一个方法将其记录在此,方便以后自己翻阅查找对数组元素进行增删//e是你要判断是否在这个数组里的元素letarr=[‘1′,’2′,’3′,’4’]letarrIndex=arr.indexOf(e)i…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

做业务需求时遇到一个功能模块需要动态增删数组对象,需求本身完成不难,但是写出来的代码我总感觉很冗余,于是我在网上找了很久,看有没有现成的轮子可以使用,最终找到了es6中的一个方法
将其记录在此,方便以后自己翻阅查找

  1. 对数组元素进行增删
// e是你要判断是否在这个数组里的元素
let arr = ['1','2','3','4']
let arrIndex = arr.indexOf(e)
if (arrIndex > -1) { 
   
	arr.splice(arrIndex,1)
} else { 
   
	arr.push(e)
}
  1. 对数组对象进行增删
// e是你要判断是否在这个数组里的对象
let arr = [
	{ 
   
		id:'1001',
		name:'张三'
	},
	{ 
   
		id:'1002',
		name:'李四'
	}
]
let arrIndex = arr.findIndex(item => { 
   
	//这里的判断条件按你需求来写
	return item.id === e.id
})
if (arrIndex > -1) { 
   
	arr.splice(arrIndex,1)
} else { 
   
	arr.push({ 
   
		id:e.id,
		name:e.name
	})
}
//find方法的话则是会返回符合条件的整个对象,我这里只需要索引,所以是findIndex

**我觉得使用es6的语法这样写下来看着精简、舒服一点,暂时没发现问题,就是不知道会不会有浏览器还没兼容所有语法。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180578.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月18日 下午4:46
下一篇 2022年10月18日 下午5:00


相关推荐

  • Python flask设置favicon.ico图标「建议收藏」

    Python flask设置favicon.ico图标

    2022年2月20日
    56
  • 死磕cglib系列之一 cglib简介与callback解析「建议收藏」

    死磕cglib系列之一 cglib简介与callback解析「建议收藏」简介cglib是一套java动态代理实现框架,cglib被应用到springapp,hibernate等高级业务框架,spring事务在业务实现类未实现接口的情况下也会使用该技术。实际上,cglib基于继承实现,这也就意味着final,private相关的method无法被代理。基于asm框架对class字节码编辑改动,从而达到动态代理的目的,总之,被代理类没有实现接口的情况下cglib为首…

    2022年5月7日
    52
  • OpenClaw对接飞书机器人:10个高频踩坑点排查+调试技巧(附实操案例)

    OpenClaw对接飞书机器人:10个高频踩坑点排查+调试技巧(附实操案例)

    2026年3月13日
    3
  • vue生成二维码插件_chrome二维码插件

    vue生成二维码插件_chrome二维码插件原文:https://www.jianshu.com/p/496fd1cbee8dnpminstallqrcodejs2–save页面中引入dom结构JS方法编写exportdefault{data(){link:’https://baidu.com’},methods:{//…

    2022年10月3日
    5
  • Python中关键字global与nonlocal的区别

    Python中关键字global与nonlocal的区别第一 两者的功能不同 global 关键字修饰变量后标识该变量是全局变量 对该变量进行修改就是修改全局变量 而 nonlocal 关键字修饰变量后标识该变量是上一级函数中的局部变量 如果上一级函数中不存在该局部变量 nonlocal 位置会发生错误 最上层的函数使用 nonlocal 修饰变量必定会报错 第二 两者使用的范围不同 global 关键字可以用在任何地方 包括最上层函数中和嵌套函数中 即使之前未定义该变量 global 修饰后也可以直接使用 而 nonlocal 关键字只能用于嵌套函数中 并且外层函数中定义了

    2026年3月26日
    2
  • JMH使用说明「建议收藏」

    JMH使用说明「建议收藏」JMH使用说明一、概述JMH,即JavaMicrobenchmarkHarness,是专门用于代码微基准测试的工具套件。何谓MicroBenchmark呢?简单的来说就是基于方法层面的基准测试,精度可以达到微秒级。当你定位到热点方法,希望进一步优化方法性能的时候,就可以使用JMH对优化的结果进行量化的分析。

    2022年7月11日
    24

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号