CN116910631B - 数组对比方法、装置、电子设备及可读存储介质 - Google Patents
数组对比方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116910631B CN116910631B CN202311183331.9A CN202311183331A CN116910631B CN 116910631 B CN116910631 B CN 116910631B CN 202311183331 A CN202311183331 A CN 202311183331A CN 116910631 B CN116910631 B CN 116910631B
- Authority
- CN
- China
- Prior art keywords
- array
- key
- key value
- sequence
- adjusting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000009877 rendering Methods 0.000 claims abstract description 20
- 238000003491 array Methods 0.000 claims abstract description 10
- 238000004590 computer program Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003066 decision tree Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Abstract
本申请公开了一种数组对比方法、装置、电子设备及可读存储介质,应用于计算机技术领域,包括:获取待对比的第一数组和第二数组,其中,数组包括至少一组键值对;调整所述第一数组和/或所述第二数组中各组键值的顺序;渲染排序后的第一数组和第二数组之间的差异键值对,得到对比结果。本申请解决了数组对比准确性较低的技术问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数组对比方法、装置、电子设备及可读存储介质。
背景技术
随着科技的高速发展,计算机技术也越来越成熟,目前,进行数组的对比时,直接采用对比工具高亮两组数组之间的差异键值对,容易出现高亮的差异键值对不准确的情况,从而导致数组对比准确性较低。
发明内容
本申请的主要目的在于提供一种数组对比方法、装置、电子设备及可读存储介质,旨在解决现有技术中数组对比准确性较低的技术问题。
为实现上述目的,本申请提供一种数组对比方法,所述数组对比方法包括:
获取待分类数据;
构建所述待分类数据的流程调用特征,其中,所述流程调用特征为在所述待分类数据的各数据特征中选取得到;
通过预设决策树基于所述流程调用特征分类所述待分类数据是否为目标数据,得到分类结果。
为实现上述目的,本申请还提供一种数组对比装置,所述数组对比装置包括:
获取模块,用于获取待分类数据;
构建模块,用于构建所述待分类数据的流程调用特征,其中,所述流程调用特征为在所述待分类数据的各数据特征中选取得到;
识别模块,用于通过预设决策树基于所述流程调用特征分类所述待分类数据是否为目标数据,得到分类结果。
本申请还提供一种电子设备,所述电子设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述数组对比方法的程序,所述数组对比方法的程序被处理器执行时可实现如上述的数组对比方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有实现数组对比方法的程序,所述数组对比方法的程序被处理器执行时实现如上述的数组对比方法的步骤。
本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的数组对比方法的步骤。
本申请提供了一种数组对比方法、装置、电子设备及可读存储介质,通过获取待对比的第一数组和第二数组,其中,数组包括至少一组键值对;调整所述第一数组和/或所述第二数组中各组键值的顺序;渲染排序后的第一数组和第二数组之间的差异键值对,得到对比结果,通过调整第一数组和/或第二数组中各组键值的顺序,从而避免了由于第一数组和第二数组的键值顺序不统一导致的差异键值对的误判,所以,提高了数组对比的准确性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请数组对比方法第一实施例的流程示意图;
图2为本申请数组对比方法第二实施例的流程示意图;
图3为本申请实施例中数组对比方法涉及的装置结构示意图;
图4为本申请实施例中数组对比方法涉及的硬件运行环境的设备结构示意图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本申请保护的范围。
实施例一
本申请实施例提供一种数组对比方法,在本申请数组对比方法的第一实施例中,参照图1,所述数组对比方法包括:
步骤S10,获取待对比的第一数组和第二数组,其中,数组包括至少一组键值对;
在本实施例中,需要说明的是,所述第一数组和第二数组为预设数据格式下的存在差异的两组数组,其中,所述差异包括但不限于键值对中的键的差异和值的差异;对于所述预设数据格式不做限制,所述预设数据格式可以为JSON(JavaScriptObject Notation,JS对象简谱)格式,也可以为XML(Extensible Markup Language,可扩展标记语言)格式,还可以为YAML(YAML Ain't a Markup Language,另一种标记语言)格式。
在一可行实施例中,获取用户键入的待对比的第一数组和第二数组。
步骤S20,调整所述第一数组和/或所述第二数组中各组键值的顺序;
在一可行实施例中,调整所述第一数组中至少一个键值对的顺序。
在另一可行实施例中,调整所述第一数组中至少一个键值对中键对应的值的顺序。
在又一可行实施例中,调整所述第二数组中至少一个键值对的顺序。
在再一可行实施例中,调整所述第二数组中至少一个键值对中键对应的值的顺序。
其中,在步骤S20中,所述调整所述第一数组和/或所述第二数组中各组键值的顺序的步骤包括:
步骤S21,若所述第一数组中各键的第一顺序和所述第二数组中各键的第二顺序不匹配,则根据所述第一顺序和所述第二顺序,调整所述第一数组和/或所述第二数组的各组键值对的顺序;和/或,
可以理解的是,由于在进行数组对比时,是对逐组键值对进行对比,因此,当第一数组中键的顺序与第二数组中键的顺序不同时,可能存在误判差异键值对的情况,从而导致数组对比的准确性较低。
示例性地,获取所述第一数组中各键的第一顺序和所述第二数组中各键的第二顺序,判断所述第一顺序与所述第二顺序是否一致,若所述第一顺序与所述第二顺序一致,则判定所述第一顺序和所述第二顺序匹配;若所述第一顺序与所述第二顺序不一致,则判定所述第一顺序和所述第二顺序不匹配。
示例性地,若所述第一数组中各键的第一顺序和所述第二数组中各键的第二顺序不匹配,则筛选得到所述第一顺序和所述第二顺序之间的至少一个差异键,根据所述差异键,调整所述第一数组和/或所述第二数组的各组键值对的顺序。
在一可行实施例中,若所述第一数组中各键的第一顺序和所述第二数组中各键的第二顺序不匹配,则筛选得到所述第一顺序和所述第二顺序之间的至少一个差异键,根据所述第二顺序,调整所述第一数组中各所述差异键对应的键值对的顺序。
在另一可行实施例中,根据所述第一顺序,调整所述第二数组中各所述差异键对应的键值对的顺序。
其中,在步骤S21中,在所述根据所述第一顺序和所述第二顺序,调整所述第一数组和/或所述第二数组的各组键值对的顺序的步骤之前,还包括:
步骤A10,获取所述第一数组和/或所述第二数组中各键对应的预设排序规则;
在本实施例中,需要说明的是,所述预设排序规则为预先设置的键的排序规则,由所述键的类型确定。
示例性地,获取所述第一数组和/或所述第二数组中各键的数据类型,根据各键的数据类型,确定预设排序规则。
在一可行实施例中,若第一数组和/或第二数组中各键的数据类型存在多种,则根据各所述数据类型,分别确定各自对应的预设排序规则。
在一可行实施例中,若各键的数据类型为英文类型,则所述预设排序规则为首字母以A-Z的顺序,或者,首字母以Z-A的顺序。
在另一可行实施例中,若各键的数据类型为数字类型,则所述预设排序规则为由大到小的顺序,或者,由小到大的顺序。
在又一可行实施例中,若各键的数据类型为中文类型,则所述预设排序规则首词拼音首字母以A-Z的顺序,或者,首词拼音首字母以Z-A的顺序。
步骤A20,根据所述预设排序规则,对所述第一数组中各组键值对进行排序,得到所述第一顺序,以及,对所述第二数组中各组键值对进行排序,得到所述第二顺序。
在一可行实施例中,若所述第一数组中各键的数据类型存在多种,则根据所述第一数组中的各所述数据类型,分别确定各键对应的预设排序规则;根据各键各自对应的预设排序规则,对所述第一数组中各组键值对进行排序,得到所述第一顺序。
在另一可行实施例中,若所述第二数组中各键的数据类型存在多种,则根据所述第二数组中的各所述数据类型,分别确定各键对应的预设排序规则;根据各键各自对应的预设排序规则,对所述第二数组中各组键值对进行排序,得到所述第二顺序。
需要说明的是,为了保证第一数组和第二数组中各组键值对对应的键的顺序一致,第一数组和第二数组中同一数据类型对应的预设排序规则一致。
例如,第一数组A为{(a,1);(b,2);(c,3)},第二数组B为{(b,1);(a,1);(c,3)},其中,(x1,x2)为一组键值对,x1为键,x2为值,第一数组A中各键的第一顺序为a、b、c,第二数组B中各键的第二顺序为b、a、c,此时,第一顺序与第二顺序不匹配,则调整第一数组A或第二数组B的键值对的顺序,使得第二数组B为{(a,1);(b,1);(c,3)},或者,使得第一数组A为{(b,2);(a,1);(c,3)}。
步骤S22,若所述第一数组中存在一目标键对应的值与所述第二数组中所述目标键对应的值不一致,则调整所述第一数组和/或所述第二数组中所述目标键对应的值的顺序。
可以理解的是,当数组中存在多组键相同的键值对时,可能存在由于未对相同的键值对的值的顺序进行调整,导致误判差异键值对的情况,从而导致数组对比的准确性较低。
在一可行实施例中,若所述第一数组中存在一目标键对应的值与所述第二数组中所述目标键对应的值不一致,则根据所述第一数组中各所述目标键对应的值的位置,调整所述第二数组中各所述目标键对应的值的位置。
在另一可行实施例中,根据所述第二数组中各所述目标键对应的值的位置,调整所述第一数组中各所述目标键对应的值的位置。
其中,在步骤S22中,所述调整所述第一数组和/或所述第二数组中所述目标键对应的值的顺序的步骤包括:
步骤B10,累计所述目标键的数量;
步骤B20,若所述目标键存在多个,则在各所述目标键未被选取的各键中选取一调整键,调整所述第一数组和/或所述第二数组中所述调整键对应的值的顺序;
示例性地,在各所述目标键未被选取的各键中选取任一键作为所述调整键。
在一可行实施例中,根据所述第一数组中所述调整键对应的值的顺序,调整所述第二数组中所述调整键对应的值的顺序。
在另一可行实施例中,根据所述第二数组中所述调整键对应的值的顺序,调整所述第一数组中所述调整键对应的值的顺序。
例如,第一数组A为{(a,1);(a,2);(b,2);(b,4)},第二数组B为{(a,2);(a,1);(b,4);(b,2)},此时,第一数组A中存在目标键a和目标键b对应的值与第一数组B中目标键a和目标键b对应的值不一致,则调整第一数组A或第二数组B中目标键a和目标键b对应的值的顺序,使得第二数组B为{(a,1);(a,2);(b,2);(b,4)},或者,使得第一数组A为{(a,2);(a,1);(b,4);(b,2)}。
步骤B30,返回至所述累计所述目标键的数量的步骤,直至各所述目标键均被选取。
例如,第一数组A为{(a,1);(a,2);(b,2);(b,4);(c,5);(c,2)},第二数组B为{(a,2);(a,1);(b,4);(b,2);(c,2);(c,5)},此时,目标键存在多个,分别为目标键a、目标键b和目标键c,在目标键a、目标键b和目标键c中选取调整键a,调整所述第一数组或所述第二数组中调整键a对应的值的顺序,使得第一数组A为{(a,2);(a,1);(b,2);(b,4);(c,5);(c,2)},或者,使得第二数组B为{(a,1);(a,2);(b,4);(b,2);(c,2);(c,5)},返回步骤,在目标键b和目标键c中选取调整键b,调整所述第一数组或所述第二数组中调整键b对应的值的顺序,使得第一数组A为{(a,2);(a,1);(b,4);(b,2);(c,5);(c,2)},或者,使得第二数组B为{(a,1);(a,2);(b,2);(b,4);(c,2);(c,5)},返回步骤,选取调整键c,调整所述第一数组或所述第二数组中调整键c对应的值的顺序,使得第一数组A为{(a,2);(a,1);(b,4);(b,2);(c,2);(c,5)},或者,使得第二数组B为{(a,1);(a,2);(b,2);(b,4);(c,5);(c,2)}。
步骤S30,渲染排序后的第一数组和第二数组之间的差异键值对,得到对比结果。
本申请实施例提供了一种数组对比方法,通过获取待对比的第一数组和第二数组,其中,数组包括至少一组键值对;调整所述第一数组和/或所述第二数组中各组键值的顺序;渲染排序后的第一数组和第二数组之间的差异键值对,得到对比结果,通过调整第一数组和/或第二数组中各组键值的顺序,从而避免了由于第一数组和第二数组的键值顺序不统一导致的差异键值对的误判,所以,提高了数组对比的准确性。
实施例二
进一步地,基于本申请第一实施例,在本申请另一实施例中,与上述实施例一相同或相似的内容,可以参考上文介绍,后续不再赘述。在此基础上,其中,参照图2,在步骤S30中,在所述渲染排序后的第一数组和第二数组之间的差异键值对,得到对比结果的步骤之前,还包括:
步骤S01,若所述第一数组中存在至少一个第一键值对,且所述第二数组中不存在各所述第一键值对,则删除所述第一数组中的各所述第一键值对;和/或,
可以理解的是,可能出现第一数组存在多余键值对,也即,上述的第一键值对,和/或,第二数组中存在多余键值对,也即,下述的第二键值对的情况,若不对各所述第一键值对和/或各所述第二键值对进行处理,则可能出现影响差异键值对的展示效果的情况。
步骤S02,若所述第二数组中存在至少一个第二键值对,且所述第一数组中不存在各所述第二键值对,则删除所述第二数组中的各所述第二键值对。
通过删除所述第一数组中的各所述第一键值对,和/或,删除所述第二数组中的各所述第二键值对,从而可规避各所述第一键值对和/或各所述第二键值对对于差异键值对的展示效果的干扰,从而提高了差异键值对的展示效果。
其中,在步骤S20中,在所述调整所述第一数组中各组键值对的顺序,和/或,调整所述第二数组中各组键值的顺序的步骤之后,还包括:
步骤C10,若所述第一数组中存在至少一个第一键值对,且所述第二数组中不存在各所述第一键值对,则将各所述第一键值对的位置调整至所述第一数组中的预设相对位置;和/或,
步骤C20,若所述第二数组中存在至少一个第二键值对,且所述第一数组中不存在各所述第二键值对,则将各所述第二键值对的位置调整至所述第二数组中的预设相对位置。
在本实施例中,需要说明的是,所述预设相对位置为预先设置的各所述第一键值对和/或各所述第二键值对,相对于各自的数组的调整相对位置。所述第一数组和所述第二数组的预设相对位置一致,从而保证差异键值对的展示效果。在此不限制预设相对位置的具体位置,例如,可以为首端,也可以为尾端,还可以为中间部分的任意相对位置。
通过将各所述第一键值对的位置调整至所述第一数组中的预设相对位置,和/或,将各所述第二键值对的位置调整至所述第二数组中的预设相对位置,不仅可以规避各所述第一键值对和/或各所述第二键值对对于差异键值对的展示效果的干扰,且还可以在第一数组的预设相对位置展示各所述第一键值对,和/或,在第二数组的预设相对位置展示各所述第二键值对,从而保证了数组对比的准确性和展示效果。
其中,在步骤S30中,所述差异键值对包括所述第一数组中的第一差异键值对和所述第二数组中的第二差异键值对,
所述渲染排序后的第一数组和第二数组之间的差异键值对,得到对比结果的步骤包括:
步骤S31,根据排序后的所述第一数组和所述第二数组,识别得到所述第一差异键值对和所述第二差异键值对;
示例性地,在排序后的所述第一数组中识别得到键和/或值与所述第二数组不匹配的第一差异键值对,以及,在排序后的所述第二数组中识别得到键和/或值与所述第一数组不匹配的第二差异键值对。
步骤S32,渲染所述第一差异键值对和所述第二差异键值对,得到对比结果。
在本实施例中,需要说明的是,所述比对结果包括高亮的第一差异键值对和第二差异键值对。
示例性地,通过渲染工具渲染所述第一差异键值对和所述第二差异键值对,得到对比结果,其中,所述渲染工具可以为szc-json-diff组件,也可以为He3 JSON等其他工具。
在一可行实施例中,若所述第一数组中还包括各所述第一键值对,则将所述第一键值对添加至所述第一差异键值对。
在另一可行实施例中,若所述第二数组中还包括各所述第二键值对,则将所述第二键值对添加至所述第二差异键值对。
本申请实施例提供了一种数组对比方法,通过获取待对比的第一数组和第二数组,其中,数组包括至少一组键值对;调整所述第一数组和/或所述第二数组中各组键值的顺序;渲染排序后的第一数组和第二数组之间的差异键值对,得到对比结果,通过调整第一数组和/或第二数组中各组键值的顺序,从而避免了由于第一数组和第二数组的键值顺序不统一导致的差异键值对的误判,所以,提高了数组对比的准确性。
实施例三
本申请实施例还提供一种数组对比装置,参照图3,所述数组对比装置包括:
获取模块,用于获取待对比的第一数组和第二数组,其中,数组包括至少一组键值对;
调整模块,用于调整所述第一数组中各组键值对的顺序,和/或,调整所述第二数组中各组键值的顺序;
渲染模块,用于渲染排序后的第一数组和第二数组之间的差异键值对,得到对比结果。
可选地,所述调整模块还用于:
若所述第一数组中各键的第一顺序和所述第二数组中各键的第二顺序不匹配,则根据所述第一顺序和所述第二顺序,调整所述第一数组和/或所述第二数组的各组键值对的顺序;和/或,
若所述第一数组中存在一目标键对应的值与所述第二数组中所述目标键对应的值不一致,则调整所述第一数组和/或所述第二数组中所述目标键对应的值的顺序。
可选地,在所述根据所述第一顺序和所述第二顺序,调整所述第一数组和/或所述第二数组的各组键值对的顺序的步骤之前,所述数组对比装置还包括:
获取所述第一数组和/或所述第二数组中各键对应的预设排序规则;
根据所述预设排序规则,对所述第一数组中各组键值对进行排序,得到所述第一顺序,以及,对所述第二数组中各组键值对进行排序,得到所述第二顺序。
可选地,所述调整模块还用于:
累计所述目标键的数量;
若所述目标键存在多个,则在各所述目标键未被选取的各键中选取一调整键,调整所述第一数组和/或所述第二数组中所述调整键对应的值的顺序;
返回至所述累计所述目标键的数量的步骤,直至各所述目标键均被选取。
可选地,在所述渲染排序后的第一数组和第二数组之间的差异键值对,得到对比结果的步骤之前,所述数组对比装置还包括:
若所述第一数组中存在至少一个第一键值对,且所述第二数组中不存在各所述第一键值对,则删除所述第一数组中的各所述第一键值对;和/或,
若所述第二数组中存在至少一个第二键值对,且所述第一数组中不存在各所述第二键值对,则删除所述第二数组中的各所述第二键值对。
可选地,在所述调整所述第一数组中各组键值对的顺序,和/或,调整所述第二数组中各组键值的顺序的步骤之后,所述数组对比装置还包括:
若所述第一数组中存在至少一个第一键值对,且所述第二数组中不存在各所述第一键值对,则将各所述第一键值对的位置调整至所述第一数组中的预设相对位置;和/或,
若所述第二数组中存在至少一个第二键值对,且所述第一数组中不存在各所述第二键值对,则将各所述第二键值对的位置调整至所述第二数组中的预设相对位置。
可选地,所述差异键值对包括所述第一数组中的第一差异键值对和所述第二数组中的第二差异键值对,所述渲染模块还用于:
根据排序后的所述第一数组和所述第二数组,识别得到所述第一差异键值对和所述第二差异键值对;
渲染所述第一差异键值对和所述第二差异键值对,得到对比结果。
本申请提供的数组对比装置,采用上述实施例中的数组对比方法,解决了数组对比准确性较低的技术问题。与现有技术相比,本申请实施例提供的数组对比装置的有益效果与上述实施例提供的数组对比方法的有益效果相同,且该数组对比装置中的其他技术特征与上述实施例方法公开的特征相同,在此不做赘述。
实施例四
本申请实施例提供一种电子设备,所述电子设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例中的数组对比方法。
下面参考图4,其示出了适于用来实现本公开实施例的电子设备的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器PDA(Personal Digital Assistant,个人数字助理)、PAD(平板电脑)、PMP(Portable MediaPlayer,便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等),其可以根据存储在ROM(Read-Only Memory,只读存储器)中的程序或者从存储装置加载到RAM(Random Access Memory,随机访问存储器)中的程序而执行各种适当的动作和处理。在RAM中,还存储有电子设备操作所需的各种程序和数据。处理装置、ROM以及RAM通过总线彼此相连。输入/输出(I/O)端口也连接至总线。
通常,以下系统可以连接至I/O端口:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置;包括例如磁带、硬盘等的存储装置;以及通信装置。通信装置可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种系统的电子设备,但是应理解的是,并不要求实施或具备所有示出的系统。可以替代地实施或具备更多或更少的系统。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装,或者从ROM被安装。在该计算机程序被处理装置执行时,执行本公开实施例的方法中限定的上述功能。
本申请提供的电子设备,采用上述实施例中的数组对比方法,解决了数组对比准确性较低的技术问题。与现有技术相比,本申请实施例提供的电子设备的有益效果与上述实施例提供的数组对比方法的有益效果相同,且该电子设备中的其他技术特征与上述实施例方法公开的特征相同,在此不做赘述。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
实施例五
本实施例提供一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,计算机可读程序指令用于执行上述实施例中的数组对比方法的方法。
本申请实施例提供的计算机可读存储介质例如可以是U盘,但不限于电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、RAM、ROM、EPROM(Erasable Programmable Read Only Memory,可擦式可编程只读存储器)或闪存、光纤、CD-ROM(compact disc read-only memory,便携式紧凑磁盘只读存储器)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(Radio Frequency,射频)等等,或者上述的任意合适的组合。
上述计算机可读存储介质可以是电子设备中所包含的;也可以是单独存在,而未装配入电子设备中。
上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被电子设备执行时,使得电子设备:获取待对比的第一数组和第二数组,其中,数组包括至少一组键值对;调整所述第一数组和/或所述第二数组中各组键值的顺序;渲染排序后的第一数组和第二数组之间的差异键值对,得到对比结果。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括LAN(LocalArea Network,局域网)或WAN(Wide Area Network,广域网)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定。
本申请提供的计算机可读存储介质,存储有用于执行上述数组对比方法的计算机可读程序指令,解决了数组对比准确性较低的技术问题。与现有技术相比,本申请实施例提供的计算机可读存储介质的有益效果与上述实施提供的数组对比方法的有益效果相同,在此不做赘述。
实施例六
本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的数组对比方法的步骤。
本申请提供的计算机程序产品解决了数组对比准确性较低的技术问题。与现有技术相比,本申请实施例提供的计算机程序产品的有益效果与上述实施例提供的数组对比方法的有益效果相同,在此不做赘述。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利处理范围内。
Claims (8)
1.一种数组对比方法,其特征在于,所述数组对比方法包括:
获取待对比的第一数组和第二数组,其中,数组包括至少一组键值对;
调整所述第一数组和/或所述第二数组中各组键值的顺序;
渲染排序后的第一数组和第二数组之间的差异键值对,得到对比结果;
其中,所述调整所述第一数组和/或所述第二数组中各组键值的顺序的步骤包括:
若所述第一数组中各键的第一顺序和所述第二数组中各键的第二顺序不匹配,则根据所述第一顺序和所述第二顺序,调整所述第一数组和/或所述第二数组的各组键值对的顺序;和/或,
若所述第一数组中存在一目标键对应的值与所述第二数组中所述目标键对应的值不一致,则调整所述第一数组和/或所述第二数组中所述目标键对应的值的顺序;
所述调整所述第一数组和/或所述第二数组中所述目标键对应的值的顺序的步骤包括:
累计所述目标键的数量;
若所述目标键存在多个,则在各所述目标键未被选取的各键中选取一调整键,根据所述调整键对应的值的顺序,调整所述第一数组和/或所述第二数组中所述调整键对应的值的顺序;
返回至所述累计所述目标键的数量的步骤,直至各所述目标键均被选取。
2.如权利要求1所述数组对比方法,其特征在于,在所述根据所述第一顺序和所述第二顺序,调整所述第一数组和/或所述第二数组的各组键值对的顺序的步骤之前,还包括:
获取所述第一数组和/或所述第二数组中各键对应的预设排序规则;
根据所述预设排序规则,对所述第一数组中各组键值对进行排序,得到所述第一顺序,以及,对所述第二数组中各组键值对进行排序,得到所述第二顺序。
3.如权利要求1所述数组对比方法,其特征在于,在所述渲染排序后的第一数组和第二数组之间的差异键值对,得到对比结果的步骤之前,还包括:
若所述第一数组中存在至少一个第一键值对,且所述第二数组中不存在各所述第一键值对,则删除所述第一数组中的各所述第一键值对;和/或,
若所述第二数组中存在至少一个第二键值对,且所述第一数组中不存在各所述第二键值对,则删除所述第二数组中的各所述第二键值对。
4.如权利要求1所述数组对比方法,其特征在于,在所述调整所述第一数组中各组键值对的顺序,和/或,调整所述第二数组中各组键值的顺序的步骤之后,还包括:
若所述第一数组中存在至少一个第一键值对,且所述第二数组中不存在各所述第一键值对,则将各所述第一键值对的位置调整至所述第一数组中的预设相对位置;和/或,
若所述第二数组中存在至少一个第二键值对,且所述第一数组中不存在各所述第二键值对,则将各所述第二键值对的位置调整至所述第二数组中的预设相对位置。
5.如权利要求1所述数组对比方法,其特征在于,所述差异键值对包括所述第一数组中的第一差异键值对和所述第二数组中的第二差异键值对,
所述渲染排序后的第一数组和第二数组之间的差异键值对,得到对比结果的步骤包括:
根据排序后的所述第一数组和所述第二数组,识别得到所述第一差异键值对和所述第二差异键值对;
渲染所述第一差异键值对和所述第二差异键值对,得到对比结果。
6.一种数组对比装置,其特征在于,所述数组对比装置包括:
获取模块,用于获取待对比的第一数组和第二数组,其中,数组包括至少一组键值对;
调整模块,用于调整所述第一数组中各组键值对的顺序,和/或,调整所述第二数组中各组键值的顺序,还用于若所述第一数组中各键的第一顺序和所述第二数组中各键的第二顺序不匹配,则根据所述第一顺序和所述第二顺序,调整所述第一数组和/或所述第二数组的各组键值对的顺序;和/或,若所述第一数组中存在一目标键对应的值与所述第二数组中所述目标键对应的值不一致,则调整所述第一数组和/或所述第二数组中所述目标键对应的值的顺序;还用于累计所述目标键的数量;若所述目标键存在多个,则在各所述目标键未被选取的各键中选取一调整键,根据所述调整键对应的值的顺序,调整所述第一数组和/或所述第二数组中所述调整键对应的值的顺序;返回至所述累计所述目标键的数量的步骤,直至各所述目标键均被选取;
渲染模块,用于渲染排序后的第一数组和第二数组之间的差异键值对,得到对比结果。
7.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至5中任一项所述的数组对比方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有实现数组对比方法的程序,所述实现数组对比方法的程序被处理器执行以实现如权利要求1至5中任一项所述数组对比方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311183331.9A CN116910631B (zh) | 2023-09-14 | 2023-09-14 | 数组对比方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311183331.9A CN116910631B (zh) | 2023-09-14 | 2023-09-14 | 数组对比方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116910631A CN116910631A (zh) | 2023-10-20 |
CN116910631B true CN116910631B (zh) | 2024-01-05 |
Family
ID=88355122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311183331.9A Active CN116910631B (zh) | 2023-09-14 | 2023-09-14 | 数组对比方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116910631B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733689A (zh) * | 2017-04-18 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种json文本的比对方法和装置 |
CN109635228A (zh) * | 2018-12-07 | 2019-04-16 | 北京锐安科技有限公司 | 有序数组间差异度的确定方法、装置、设备及存储介质 |
CN111506608A (zh) * | 2020-04-16 | 2020-08-07 | 泰康保险集团股份有限公司 | 一种结构化文本的比较方法和装置 |
CN111581456A (zh) * | 2020-05-09 | 2020-08-25 | 深圳市卡数科技有限公司 | 一种json字符串对比方法、装置、设备及存储介质 |
CN113190220A (zh) * | 2021-06-30 | 2021-07-30 | 南京冰鉴信息科技有限公司 | Json文件差异化对比方法及装置 |
WO2022021897A1 (zh) * | 2020-07-27 | 2022-02-03 | 深信服科技股份有限公司 | 一种报文检测方法、设备及可读存储介质 |
CN115186502A (zh) * | 2022-07-27 | 2022-10-14 | 浙江极氪智能科技有限公司 | 车辆的异常数据识别方法、装置、电子设备及存储介质 |
CN115293279A (zh) * | 2022-08-17 | 2022-11-04 | 广州市百果园网络科技有限公司 | 键值对差异对比方法及其装置、设备、介质 |
WO2023273235A1 (zh) * | 2021-06-29 | 2023-01-05 | 深圳前海微众银行股份有限公司 | 一种文件的数据比对方法、装置、设备及存储介质 |
CN115758958A (zh) * | 2022-09-30 | 2023-03-07 | 深圳鲲云信息科技有限公司 | 一种芯片验证方法、装置、设备及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7680791B2 (en) * | 2005-01-18 | 2010-03-16 | Oracle International Corporation | Method for sorting data using common prefix bytes |
US10275223B2 (en) * | 2017-06-22 | 2019-04-30 | International Business Machines Corporation | Distributed key-value consistency and mapping |
-
2023
- 2023-09-14 CN CN202311183331.9A patent/CN116910631B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733689A (zh) * | 2017-04-18 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种json文本的比对方法和装置 |
CN109635228A (zh) * | 2018-12-07 | 2019-04-16 | 北京锐安科技有限公司 | 有序数组间差异度的确定方法、装置、设备及存储介质 |
CN111506608A (zh) * | 2020-04-16 | 2020-08-07 | 泰康保险集团股份有限公司 | 一种结构化文本的比较方法和装置 |
CN111581456A (zh) * | 2020-05-09 | 2020-08-25 | 深圳市卡数科技有限公司 | 一种json字符串对比方法、装置、设备及存储介质 |
WO2022021897A1 (zh) * | 2020-07-27 | 2022-02-03 | 深信服科技股份有限公司 | 一种报文检测方法、设备及可读存储介质 |
WO2023273235A1 (zh) * | 2021-06-29 | 2023-01-05 | 深圳前海微众银行股份有限公司 | 一种文件的数据比对方法、装置、设备及存储介质 |
CN113190220A (zh) * | 2021-06-30 | 2021-07-30 | 南京冰鉴信息科技有限公司 | Json文件差异化对比方法及装置 |
CN115186502A (zh) * | 2022-07-27 | 2022-10-14 | 浙江极氪智能科技有限公司 | 车辆的异常数据识别方法、装置、电子设备及存储介质 |
CN115293279A (zh) * | 2022-08-17 | 2022-11-04 | 广州市百果园网络科技有限公司 | 键值对差异对比方法及其装置、设备、介质 |
CN115758958A (zh) * | 2022-09-30 | 2023-03-07 | 深圳鲲云信息科技有限公司 | 一种芯片验证方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116910631A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111555940B (zh) | 客户端的测试方法、装置、电子设备及计算机可读存储介质 | |
CN112395188B (zh) | 一种面向测试的软件项目开发方法、装置、电子设备及存储介质 | |
CN111813465B (zh) | 一种信息获取方法、装置、介质和设备 | |
CN116894188A (zh) | 业务标签集更新方法、装置、介质及电子设备 | |
CN111738316A (zh) | 零样本学习的图像分类方法、装置及电子设备 | |
CN114780338A (zh) | 主机信息处理方法、装置、电子设备和计算机可读介质 | |
CN112712795B (zh) | 标注数据确定方法、装置、介质及电子设备 | |
CN116910631B (zh) | 数组对比方法、装置、电子设备及可读存储介质 | |
CN110188166B (zh) | 文档搜索方法、装置及电子设备 | |
CN116151961A (zh) | 信用风险预测方法、电子设备及可读存储介质 | |
CN114185463B (zh) | 表格处理方法、装置、电子设备和存储介质 | |
CN111782895B (zh) | 检索处理方法、装置、可读介质及电子设备 | |
CN111309988B (zh) | 基于编码的字符串检索方法、装置及电子设备 | |
CN111160285B (zh) | 一种获取板书信息的方法、装置、介质和电子设备 | |
CN111694755B (zh) | 应用程序测试方法、装置、电子设备及介质 | |
CN112307073A (zh) | 一种信息查询方法、装置、设备和存储介质 | |
CN116467178B (zh) | 数据库检测方法、装置、电子设备和计算机可读介质 | |
CN116910669A (zh) | 数据分类方法、装置、电子设备及可读存储介质 | |
CN111026983B (zh) | 一种实现超链接的方法、装置、介质和电子设备 | |
CN111680112B (zh) | 一种数据分析方法及装置 | |
CN112860784B (zh) | 血缘分析方法、装置、电子设备及计算机可读存储介质 | |
CN113094286B (zh) | 页面测试方法和装置、存储介质和电子设备 | |
CN116186093B (zh) | 地址信息处理方法、装置、电子设备与计算机可读介质 | |
CN111310031B (zh) | 房源信息展示方法、装置、终端及存储介质 | |
CN111859879B (zh) | 基于虚拟表格的数据展示方法、装置以及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |