问题标签 [compareobject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1075 浏览

javascript - 循环遍历对象数组并在它们具有相似键的情况下组合它们

我正在尝试遍历类似于以下结构的数组,并且对于具有相同 id 的每个对象,我希望它们组合成一个对象,但具有与该 id 关联的所有“名称”的数组。我的数组是按 id 预先排序的,我不能使用 JQuery,只能使用 vanilla JS。

转换这个:

对此:

我试图通过将第一个对象与数组中的下一个对象进行比较,然后将第一个对象设置为第二个对象来做类似的事情,但因为“secondObject”实际上不是数组中的下一个对象而被卡住了。

我必须使用几千个 id 来执行此操作,并且大多数 id 都以不同的名称重复,但是有一些单个 id 对象,例如 id 2。

0 投票
4 回答
5935 浏览

powershell - 在 Compare-Object 中替换 SideIndicator 的箭头

我可以将 SideIndicators 的输出更改为Compare-Object对标准用户更友好的结果吗?

我有一个脚本,用于比较我们软件的 2017 版本和当前 2018 版本的文件夹。

输出如下所示:

该报告是提供给测试人员的,如果我可以将 SideIndicators 更改为文本,对他们来说会更干净。

我想要的输出:

或者类似的东西,他们可以在不必知道哪个是参考/差异对象的情况下获得它的要点。

我有一个初步的想法,但寻找类似的东西并没有产生很多结果。不知道是不是一定要if循环还是可以替换PS中的括号。PS还是新手,所以我非常感谢您的帮助!

0 投票
0 回答
49 浏览

powershell - 匹配软件Powershell的脚本

这是我的第一个脚本,理想情况下,如果比较参考文献,我只想呈现写主机“缺少的软件......”。对象与差异对象不匹配。如果匹配,则“缺少软件”

任何提示将不胜感激。

提前致谢

0 投票
1 回答
185 浏览

sql-loader - SQL 加载程序在加载 .txt 文件时失败,这是比较对象 cmdlet 的结果

我从遗留应用程序中收到一个固定格式的文件,该文件每天由 SQL 加载器加载到 oracle 表中。新需求需要比较第 1 天和第 2 天的文件,并且只附加差异,因此第 2 天结束时的数据看起来像第 1 天(初始加载)+ 第 2 天 - 第 1 天(仅更改)。

我正在使用下面的命令来找出两个文件之间的区别

比较对象 -referenceObject $(Get-Content $File1) -differenceObject $(Get-Content $File2) | %{$ .Inputobject + $ .SideIndicator} | 英尺-自动 | 输出文件 $fileDiff.txt -width 5000

compare-object 输出的第一行示例如下所示:

第4614章 32570544900721657

控制文件读取 infile 如下:

PER_ID POSITION(1:8) 字符由空白终止,

USER_ID POSITION(9:16) 字符由空白终止,

USER_ID_PREV POSITION(17:24) 字符由空白终止,

日志给了我一个丢弃所有记录的错误原因,如下所示:

记录 1:拒绝 - 表 PDB_EXPORT_DELTA 的 PER_ID 列出错。ORA-01722: 无效号码

我不确定这是否是由于 FileDiff.txt 不再是固定格式,或者 SQLLoader 不再将其识别为固定格式。

我对这两个方面都进行了研究,但没有发现任何关于 Compare-Object 保留或更改输出差异文件格式的内容,也没有看到任何关于 SQLLoader 控制文件中的类型转换值的内容。任何帮助深表感谢。也欢迎对实现上述要求的其他方法进行思考。TIA

0 投票
1 回答
80 浏览

powershell - delete everything after keyword

I try to merge to files with Compare-Object and I got a file like this:

You can see it repeats with Number=1. Except with a different value. I would like to delete everything (everything means not only "= 1") after my keyword "Number" and my keyword itself.

This is what I did so far:

And I would like to delete all lines with "Track" and "Date".

My Result should look like this:

In fact I need something to delete double keys in my file.

0 投票
0 回答
46 浏览

powershell - 比较对象不比较数组的每个元素

我正在尝试使用来查找一个数组 ( ) 中但不在另一个Compare-Object数组 ( ) 中的元素。出于某种原因,仅比较 fileArray 中的最后两个元素。这是我要运行的代码。$fileArray$dictionaryArrayCompare-Object

当我简单地运行时Compare-Object -ReferenceObject $fileArray -DifferenceObject $dictionaryArray,我得到了输出

fileArray 中有比这更多的项目。当我跑步时$fileArray,我得到

为什么我的代码没有比较这些对象中的每一个?

编辑

这是字典.txt

这是文件.txt

我使用我的循环来创建对象。每个段落的第一行是每个后续对象的“PC”。然后,每一行都是每个对象的“文件”。我想检查哪些对象在 fileArray 而不是在 dictionaryArray 中。我希望输出是

任何帮助,将不胜感激!

0 投票
1 回答
4792 浏览

powershell - 在通过 PowerShell 消息框显示的变量中添加新行

我制作了一个简单的 PowerShell 消息框来显示丢失文件的名称。我用变量调用它们。当我在 ISE 中回显变量时,它会在单独的行中显示每个变量,但是当显示在消息框中时,它会显示为由空格分隔的字符串。我没有运气用 `n 替换空格,但也许我做错了。

有人有想法么?

当前代码:

ISE 中的输出如下所示:

文件 1

文件2

文件 3

消息框中的输出如下所示:

文件 1 文件 2 文件 3

0 投票
1 回答
38 浏览

powershell - 在 PowerShell 中比较多个 CSV 列并从两者返回完整数据

我有两个包含数据的电子表格,我想比较这些数据以突出显示匹配和不匹配的数据,并带有一些“陷阱” - 我想忽略一些列进行比较(分数、测试名),其他列我想包括(文件名和哈希) ,并且我想通过双方(所以即使它不匹配,我也想做一个“完整的外部”查询)。这是我的示例数据:

CSV1(来源):

CSV2(比较目标):

我想看看文件名和哈希是否匹配 - 例如 C:\temp 和 C:\temp5 将匹配并返回带有侧面指示符的所有列 - 例如

输出 CSV

我使用了 ForEach($record in $CSV1) 并检查了匹配的文件名,然后是哈希,但是对于大量数据来说速度很慢(我怀疑是因为我的完整外部查询需要我用所有列的新成员扩展我的哈希表) .

我认为 Compare-object 会很合适,但这似乎不允许我在 passthru 语句中包含双方,除非我遗漏了什么?

0 投票
3 回答
428 浏览

powershell - 比较对象 Powershell

我想比较两个对象并只获得不同的值。我有这个代码:

使用上面的代码,我得到以下输出:

但是我只想要两个对象中的不同值,即 Dit 和 this

0 投票
1 回答
392 浏览

powershell - Powershell Compare-Object with Hash 仅通过 $_.SideIndicator 而不是 $_.path $_.hash

我正在尝试在哈希级别比较两个文件夹。

我得到哈希信息;Algorithm, Hash, Path $SourceDocs 和 $DestDocs 都有 Algorithm, Hash, Path

当我运行 Compare-Object 时,唯一传递的值是 SideIndicator

我在没有哈希的情况下运行了这个,但是名称相似但名称不同的文件可以通过

这是输出

这里的整个想法是比较两个文件夹并采用 3 个选项之一:

  • == 没有
  • <= 复制
  • => 删除

任何见解将不胜感激

更新...

Get-FileHash 现在看起来像这样:

由于某种原因,我无法获得仅显示的名称,因此我使用了 New-Object 并强制使用它

并且比较语句也必须调整: