今天在小程序开发的过程中遇到一个很大的问题,就是判断获取的用户数据。这里标为一个对象。需要判断该对象是否存在 一个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 判断对象数组是否存在某一个对象(全)相关推荐

  1. js判断对象数组中是否存在某个对象

    1. 如果要判断数组中是否存在某个元素的话很好判断,直接用数组的indexOf方法就好,存在返回当前索引不存在返回-1 var arr=[1,2,3,4] arr.indexOf(3) // 2 ar ...

  2. js判断对象是否是数组的几种方式

    js判断对象是否是数组的几种方式 1.通过instanceof判断 instanceof运算符用于检验构造函数的prototype属性是否出现在对象的原型链中的任何位置,返回一个布尔值. let a ...

  3. js判断对象是否为空

    文章目录 一.js判断对象是否为空(三种方法) 二.注: 1. JSON.stringify() 语法 参数说明: 2. Object.keys() 语法 参数 返回值 例子 3. for..in 语 ...

  4. JS判断对象是否为空(个人常用)

    JS判断对象是否为空 1.将json对象转化为json字符串,再判断该字符串是否为"{}" var data = {}; var isNull = (JSON.stringify( ...

  5. js中对象数组根据对象id分组并转map

    js中对象数组根据对象id分组并转map 如果要将具有相同 id 属性的对象元素,分成不同的数组. 可以先从对象数组中提取相同的 id 属性,再使用 Array.reduce() 和 Map 来进行对 ...

  6. JS判断对象是否为空的方法大全

    JS判断对象是否为空的方法大全 1.将json对象转化为json字符串,再判断该字符串是否为"{}" var data = {}; var b = (JSON.stringify( ...

  7. js ajax传对象数组参数,JS传递对象数组为参数给后端,后端获取

    JS传递对象数组为参数给后端,后端获取. 前端JS代码: var conditons = []; var test1 = new Object(); test1.name="1"; ...

  8. php 获取js对象的属性值,js获取对象,数组所有属性键值(key)和对应值(value)的方法示例...

    本文实例讲述了js获取对象,数组所有属性键值(key)和对应值(value)的方法.分享给大家供大家参考,具体如下: var values=function(object) { var values ...

  9. js获取对象数组中的id集合

    js获取对象数组中的id集合 const ids = Array.from(this.checkList,({ id }) => id); // ["16921C72E0C64002& ...

  10. js计算对象数组中某个属性合计

    js 计算对象数组中某个属性合计 countTotal调用示例: let arr = [{id: 0, price: 199.88},{id: 1, price: 299.88},{id: 2, pr ...

最新文章

  1. 封装 vue 组件的过程记录
  2. 手机html图片模糊,css3处理sprite背景图压缩来解决H5网页在手机浏览器下图标模糊的问题_html/css_WEB-ITnose...
  3. git/码云上关于项目的一些操作:初始化、克隆、上传修改等
  4. TextBox字符串转换为数字类型
  5. Java 8 StringJoiner
  6. 使用fuse.js_如何使用Fuse.js将搜索添加到React应用
  7. win10切换输入法快捷键_输入法失灵怎么办?该怎么恢复?
  8. 华为云媒体査勇:华为云在视频AI转码领域的技术实践
  9. Spring-Data-JPA--增删改查2——自定义接口查询
  10. VS2008 Qt Designer 中自定义信号槽
  11. Python之socketserver源码分析
  12. oracle建表空间、用户
  13. 【数学建模】因子分析
  14. (转载)c++builder/delphi中透明panel及透明窗口的实现方法_delphi教程
  15. cmd命令提示符配置切换IP地址
  16. 敌兵布阵(HDU - 1166)(线段树的点更新-区间查询)
  17. JS实现方块颜色的渐变
  18. 互联网公司对Android,iOS开发工程师的职位要求
  19. 数据库应用之(教育)
  20. [HNOI2003]激光炸弹(二维前缀和+大坑点)

热门文章

  1. Android快速开发之appBase——(1).appBase介绍
  2. Tomcat中 appBase和docBase配置及默认管理页面
  3. android wifi dns设置在哪,WiFi高级设置DNS在哪
  4. 计算机教室云教学反思,《云》音乐教学反思
  5. PIPIOJ 1169: PIPI倒水
  6. 直播网站并发测试软件,HTTP/HLS/RTMP超级负载测试工具
  7. STM32系统定时器闪烁LED灯
  8. macmini性能测试软件,Mac mini
  9. 转行做Linux运维工程师,简历
  10. 微信开方平台微信管理员重置