js 判断对象数组是否存在某一个对象(全)
今天在小程序开发的过程中遇到一个很大的问题,就是判断获取的用户数据。这里标为一个对象。需要判断该对象是否存在 一个members中的。这里的members包含多个用户的完整数据。翻遍全网。终于找到了。将次经验分享给大家。
第一种情况 对象键值对顺序不变
var arr=[{"appId":"1","appName":"小君"},{"appId":"2","appName":"小花"}]
var obj={"appId":"2","appName":"小花"}
if(JSON.stringify(arr).indexOf(JSON.stringify(obj)) === -1){console.log('不存在')arr.push(obj)
}else{console.log('已存在')
}以上情况能正常运行
一旦出现以下情况,判断就不可控```javascript
var obj={"appName":"小花","appId":"2"}
第二种情况 对象键值对顺序改变
在这种情况下,用以上方法绝对会报错。因此我们采用新的方法来解决这个问题 以下是代码
var arr=[{"appId":"1","appName":"小君"},{"appId":"2","appName":"小花"}]
var obj={"appName":"小花","appId":"2"}
if(JSON.stringify(arr).includes(JSON.stringify(obj)) === -1){console.log('不存在')arr.push(obj)
}else{console.log('已存在')
}
总结
很多情况下,我们在判断一个数组中是否存在某个是,我们用indexOf就行。包括在判断有序的对象数组中是否存在某个对象。一旦参考对象的顺序打乱,我们就得使用 includes
今天的分享就到这里。更多分享期待下次再见
js 判断对象数组是否存在某一个对象(全)相关推荐
- js判断对象数组中是否存在某个对象
1. 如果要判断数组中是否存在某个元素的话很好判断,直接用数组的indexOf方法就好,存在返回当前索引不存在返回-1 var arr=[1,2,3,4] arr.indexOf(3) // 2 ar ...
- js判断对象是否是数组的几种方式
js判断对象是否是数组的几种方式 1.通过instanceof判断 instanceof运算符用于检验构造函数的prototype属性是否出现在对象的原型链中的任何位置,返回一个布尔值. let a ...
- js判断对象是否为空
文章目录 一.js判断对象是否为空(三种方法) 二.注: 1. JSON.stringify() 语法 参数说明: 2. Object.keys() 语法 参数 返回值 例子 3. for..in 语 ...
- JS判断对象是否为空(个人常用)
JS判断对象是否为空 1.将json对象转化为json字符串,再判断该字符串是否为"{}" var data = {}; var isNull = (JSON.stringify( ...
- js中对象数组根据对象id分组并转map
js中对象数组根据对象id分组并转map 如果要将具有相同 id 属性的对象元素,分成不同的数组. 可以先从对象数组中提取相同的 id 属性,再使用 Array.reduce() 和 Map 来进行对 ...
- JS判断对象是否为空的方法大全
JS判断对象是否为空的方法大全 1.将json对象转化为json字符串,再判断该字符串是否为"{}" var data = {}; var b = (JSON.stringify( ...
- js ajax传对象数组参数,JS传递对象数组为参数给后端,后端获取
JS传递对象数组为参数给后端,后端获取. 前端JS代码: var conditons = []; var test1 = new Object(); test1.name="1"; ...
- php 获取js对象的属性值,js获取对象,数组所有属性键值(key)和对应值(value)的方法示例...
本文实例讲述了js获取对象,数组所有属性键值(key)和对应值(value)的方法.分享给大家供大家参考,具体如下: var values=function(object) { var values ...
- js获取对象数组中的id集合
js获取对象数组中的id集合 const ids = Array.from(this.checkList,({ id }) => id); // ["16921C72E0C64002& ...
- js计算对象数组中某个属性合计
js 计算对象数组中某个属性合计 countTotal调用示例: let arr = [{id: 0, price: 199.88},{id: 1, price: 299.88},{id: 2, pr ...
最新文章
- 封装 vue 组件的过程记录
- 手机html图片模糊,css3处理sprite背景图压缩来解决H5网页在手机浏览器下图标模糊的问题_html/css_WEB-ITnose...
- git/码云上关于项目的一些操作:初始化、克隆、上传修改等
- TextBox字符串转换为数字类型
- Java 8 StringJoiner
- 使用fuse.js_如何使用Fuse.js将搜索添加到React应用
- win10切换输入法快捷键_输入法失灵怎么办?该怎么恢复?
- 华为云媒体査勇:华为云在视频AI转码领域的技术实践
- Spring-Data-JPA--增删改查2——自定义接口查询
- VS2008 Qt Designer 中自定义信号槽
- Python之socketserver源码分析
- oracle建表空间、用户
- 【数学建模】因子分析
- (转载)c++builder/delphi中透明panel及透明窗口的实现方法_delphi教程
- cmd命令提示符配置切换IP地址
- 敌兵布阵(HDU - 1166)(线段树的点更新-区间查询)
- JS实现方块颜色的渐变
- 互联网公司对Android,iOS开发工程师的职位要求
- 数据库应用之(教育)
- [HNOI2003]激光炸弹(二维前缀和+大坑点)
热门文章
- Android快速开发之appBase——(1).appBase介绍
- Tomcat中 appBase和docBase配置及默认管理页面
- android wifi dns设置在哪,WiFi高级设置DNS在哪
- 计算机教室云教学反思,《云》音乐教学反思
- PIPIOJ 1169: PIPI倒水
- 直播网站并发测试软件,HTTP/HLS/RTMP超级负载测试工具
- STM32系统定时器闪烁LED灯
- macmini性能测试软件,Mac mini
- 转行做Linux运维工程师,简历
- 微信开方平台微信管理员重置