全组合判断

news/2025/1/11 8:30:27/文章来源:https://www.cnblogs.com/Gawainehzh/p/18665140

`function isFullCombination(datas) {
if (datas.length === 0) {
return false;
}
const keys = Object.keys(datas[0]);
const entries = keys.map((k) => [k, new Set()]);
const fieldMap = new Map(entries);
//Map(3) { '字段1' => Set(0) {}, '字段2' => Set(0) {}, '字段3' => Set(0) {} }
const serializedSet = new Set();
for (const data of datas) {
const serialized = JSON.stringify(data)
if(serializedSet.has(serialized)){
return false
}
serializedSet.add(serialized)
for (const key of keys) {
const value = data[key]
fieldMap.get(key).add(value);
}
}
// console.log(fieldMap.values());

const n1 = [...fieldMap.values()].reduce((a,b)=>a*b.size,1)
const n2 = datas.length
return n2 === n1
}
const inputData = [
{ 字段1: "甲", 字段2: "a", 字段3: 1 },
{ 字段1: "甲", 字段2: "a", 字段3: 2 },
{ 字段1: "甲", 字段2: "a", 字段3: 3 },
{ 字段1: "甲", 字段2: "b", 字段3: 1 },
{ 字段1: "甲", 字段2: "b", 字段3: 2 },
{ 字段1: "甲", 字段2: "b", 字段3: 3 },
{ 字段1: "乙", 字段2: "a", 字段3: 1 },
{ 字段1: "乙", 字段2: "a", 字段3: 2 },
{ 字段1: "乙", 字段2: "a", 字段3: 3 },
{ 字段1: "乙", 字段2: "b", 字段3: 1 },
{ 字段1: "乙", 字段2: "b", 字段3: 2 },
{ 字段1: "乙", 字段2: "b", 字段3: 3 },
];
console.log(isFullCombination(inputData));
`

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/867615.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

硬盘检测工具|数据恢复

硬盘检测工具设置 # 在settings中开启如下配置,而后关闭数据恢复

VMware ESXi 8.0U3c macOS Unlocker OEM BIOS Huawei (华为) 定制版

VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS Huawei (华为) 定制版VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS Huawei (华为) 定制版 ESXi 8.0U3c 标准版,Dell (戴尔)、HPE (慧与)、Lenovo (联想)、Inspur (浪潮)、Cisco (思科)、Hitachi (日立)、Fujitsu (富士…

【Go编程】流程控制

一、流程控制的作用: 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。 二、控制语句的分类: 控制语句分为三类:顺序、选择和循环。 “顺序结构”代表“先执行a,再执行b”的逻辑。 “条件判断结构”代表“如果…,则…”的…

在CDN上搭建支持反向代理的C2服务器(下)

免责声明: 本文技术只做研究之用,禁止用来从事非法用途,如有使用文章中的技术从事非法活动,一切后果由使用者自负,与作者无关。一、摘要 在上一篇文章中, 完成了Microsoft Azure 上的环境准备工作, 已经成功安装并配置了用于 Nginx 反向代理的虚拟机(VM)和用于 Cobalt Strike…

在CDN上搭建支持反向代理的C2服务器(上)

免责声明: 本文技术只做研究之用,禁止用来从事非法用途,如有使用文章中的技术从事非法活动,一切后果由使用者自负,与作者无关。一、摘要 在本文中,将探讨在微软Azure的CDN网络中使用C2域名和Nginx作为反向代理来构建一个红队基础设施。内容包括:C2域的选择和DNS配置、Cobalt St…

换个 AI 写

被遗忘,无法参与,无法长时间停课,对学校或教练组心存疑虑。每月的考试成绩。为了奥运会,并花费了无法停课的时间,以换取比赛课程的月度考试成绩。他们可以通过宣传来间接提高成绩。在未来的职业发展中,她取得了优异的成绩。缺乏时间,对江平在奥运会上取得优异成绩的怀疑…

从Resource中加载shellcode

以下文章来源于Relay学安全 ,作者FireGhost 前言 在开发malware过程中通常有两种加载shellcode方式: 1.把shellcode直接以硬编码的方式写入代码中 2.采用分离加载的方式 制作一个shellcode loader 从本地读取shellcode到内存中进行运行。 本文先讲解第一种方式,这个方式有一…

gRPC:第二代rpc服务

背景 在如今云原生技术的大环境下,rpc服务作为最重要的互联网技术,蓬勃发展,诞生了许多知名基于rpc协议的框架,其中就有本文的主角gRPC技术。一款高性能、开源的通用rpc框架 作者作为一名在JD实习的Cpper,经过一段时间的学习和实践,发现了C++与Java之间的种种不同,这也让…

Tensorflow2.0自定义层

Tensorflow2.0自定义层 tensorflow2.0建议使用tf.keras作为构建神经网络的高级API。 也就是说,大多数TensorFlow API都可用于eager执行模式。 from __future__ import absolute_import, division, print_function, unicode_literals !pip install -q tensorflow==2.0.0-alpha0…

推荐4本书《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》、《AI芯片开发核心技术详解》

4本书推荐《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》由清华大学出版社资深编辑赵佳霓老师策划编辑的新书《AI芯片开发核心技术详解》已经出版,京东、淘宝天猫、当当等网上,相应陆陆续续可以购买。该…

arcpy环境搭建

背景 在ArcMap和ArcGIS Pro中,都可以使用arcpy,但是代码都要在相应环境中运行才行。 环境选择 1.在软件安装目录中运行arcpy 对于ArcMap中,可以直接在以下目录中运行arcpy代码: C:\Python27\ArcGIS10.4 对于ArcGIS Pro,可以在以下目录运行arcpy代码: C:\Program Files\Ar…

arcpy搭建环境

背景 在ArcMap和ArcGIS Pro中,都可以使用arcpy,但是代码都要在相应环境中运行才行。 环境选择 1.在软件安装目录中运行python 对于ArcMap中,可以直接在以下目录中运行arcpy代码: C:\Python27\ArcGIS10.4 对于ArcGIS Pro,可以在以下目录运行arcpy代码: C:\Program Files\A…