码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 关于对象数组的一些方法总结


    关于数组对象的一些方法总结

    • 一、判断对象数组是否重复
    • 二、复制对象数组


    一、判断对象数组是否重复

    根据某个属性判断对象数组中,是否含有该属性重复的对象。

    let objectArr = [
    	{id: 1, name: 2, age: 3}, 
    	{id: 2, name: 3, age:24},
    	{id: 1, name: 5, age:6}
    ]
    
    function isSameKeyValue(arr, key) {
    	// 1.利用map方法得到一个key值的数组
    	const keyArr = arr.map(value => value[key]);
    	// 2.利用set集合不重复的特性对keyArr进行去重
    	const keySet = new Set(keyArr);
    	// 3.若两个length相等,则证明无重复的值,则返回false,相反返回true
    	return keySet.size === keyArr.length ? false : true;
    }
    
    console.log(isSameKeyValue(objectArr, 'id'));    // true
    console.log(isSameKeyValue(objectArr, 'name'));  // false
    console.log(isSameKeyValue(objectArr, 'age'));  // false
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    二、复制对象数组

    很多时候,我们想要复制一个对象数组的值,如果使用 map() 或者 lodash中的 _.clone(),会发现对于数组里面的JSON对象,指针还是相同的,改变原数组时,对该复制数组是有影响的。

    function copyObjectArr(arr) {
    	let copyList = [];
    	arr.forEach(item => {
    		// 利用 {...obj} 进行对象的值的复制
    		copyList.push({...item})
    	})
        return copyList;
    }
    
    let list1 = copyObjectArr(list);
    list1[0]['id'] = 100;
    console.log(list1);
    console.log(list);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    在这里插入图片描述

  • 相关阅读:
    如何满足计算机化系统验证(CSV):制药企业的指南
    html[Attributes Style]什么意思
    Linux系统硬盘读写慢,如何排查
    基本的计算机结构知识----基础向
    ArcGIS Maps SDK for JS(二):MapView简介----创建2D地图
    22矩阵——向量范数和矩阵范数 : 矩阵范数与向量范数的相容、Numpy计算范数
    2023/11/16JAVA学习
    m4a怎么转换mp3?4个方法包教包会
    Linux安装MySQL
    计算机网络——计算机网络体系结构
  • 原文地址:https://blog.csdn.net/qq_38374286/article/details/133358286
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号