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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ES6基础之——继承extends

    ES6基础之——继承extends一个类可以去继承其他类里面的东西,这里定义一个叫Person的类,然后在constructor里面添加两个参数:name和birthday;下面再添加一个自定义的方法intro,这个方法就是简单地返

    2022年7月1日
    23
  • C++——STL中三种顺序容器的简要差别「建议收藏」

    C++——STL中三种顺序容器的简要差别

    2022年1月19日
    53
  • IntelliJ idea 必备 好用 优秀 插件

    IntelliJ idea 必备 好用 优秀 插件1、AtomMaterialICons这是一个icon图片插件,有一个特别牛的功能就是可以优化idea流畅度,不知道是什么原理,现在这个插件成为了我必备插件2、FileExpander有了这个插件,有些小伙伴平时用的Jad工具就可以扔了,它能在Idea里直接打开Jar包3、GitToolBox这款插件现在我几乎离不开它。他能在项目上提示你还有多少文件没提交,远程还有多少文件没更新下来。还能在每一行代码上提示上次提交的时间。查版本提交问题的时候尤其方便4、MavenHelper

    2022年10月9日
    3
  • linux 网络ip设置方法,Linux配置ip地址的两种方法

    linux 网络ip设置方法,Linux配置ip地址的两种方法Linux配置ip地址的两种方法,实验环境为centos7.6方法1:nmcli工具配置(centos7以下版本不支持该方法)第一步,通过nmcliconnection查看网卡名称[root@localhost~]#nmcliconnectionNAMEUUIDTYPEDEVICEeth009be0948-faf1-43b6-a5a4-c19efab0bb48ethernet…

    2022年6月7日
    48
  • mybatiscodehelperpro2.9.3激活码【最新永久激活】「建议收藏」

    (mybatiscodehelperpro2.9.3激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32P…

    2022年3月25日
    380
  • c#FileStream文件读写「建议收藏」

    c#FileStream文件读写「建议收藏」//C#文件流写文件,默认追加FileMode.Append stringmsg="okffffffffffffffff";byte[]myByte=System.Text.Encoding.UTF8.GetBytes(msg);using(FileStreamfsWrite=newFileStream(@"D:\1.txt",FileMode.Append)){…

    2022年7月12日
    16

发表回复

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

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