【发布时间】:2020-09-19 23:33:00
【问题描述】:
好的,所以这是一个艰难的过程。我想。
我有两个对象数组,其中包含一些关于 pod 的信息。我希望提供环境的并排比较,以显示 pod 包含完全相同的图像的位置;诀窍是我也需要捕捉图像不匹配的豆荚。结果将呈现在一个看起来像这样的表上(至少作为第一次迭代):
|---------------------|------------------|------------------|
| Pod Name | Image from Env1 | Image from Env2 |
|---------------------|------------------|------------------|
| foo | foo:1.0.0 | foo:1.0.0 | <---- images match
|---------------------|------------------|------------------|
| foo | foobar:1.0.0 | | <---- No match for image tag; image name different from the pod name as the pods may contain multiple images
|---------------------|------------------|------------------|
| foo | | foobar:2.0.0 | <---- As above
|---------------------|------------------|------------------|
| bar | bar:2.0.0 | bar:2.0.0 | <---- images match
|---------------------|------------------|------------------|
| baz | baz:1.0.0 | | <----
|---------------------|------------------|------------------| Note the 'no match'; so own row for now
| baz | | baz:2.0.0 | <----
|---------------------|------------------|------------------|
稍后我将使用 CSS 突出显示匹配与差异。
我最苦恼的事情是:
- Pod 可能有超过 1 个图像。这些图像中的一张可能在环境之间匹配,但另一张可能不匹配。当有多个图像时,该 pod 内的标签会有所不同(参见上表中的
foopod) - 如何检查环境之间的对象匹配,同时仍捕获不匹配的对象。使用嵌套循环会导致大量重复和漏报问题
- 我不确定存储输出的最佳方式。可能类似于:
[{ "Pod Name": "foo", "Image_Env_1": foo:1.0.0", "Image_Env_2": foo:1.0.0"}...并在不匹配的情况下为值留下空白字符串(如表中的空白单元格)。但这可能会与foopod 中具有不同图像标签的其他图像发生冲突。
所以Env1 数组看起来像这样 sn-p:
[
{
"Image": {
"S": "foo:1.0.0"
},
"Pod Name": {
"S": "foo"
}
},
{
"Image": {
"S": "foobar:0.2.0"
},
"Pod Name": {
"S": "foo"
}
},
{
"Image": {
"S": "bar:1.0.0"
},
"Pod Name": {
"S": "bar"
}
},
{
"Image": {
"S": "baz:1.0.0"
},
"Pod Name": {
"S": "baz"
}
},
{
"Image": {
"S": "qux:1.0.0"
},
"Pod Name": {
"S": "foo"
}
}
]
Env2数组:
[
{
"Image": {
"S": "foo:2.0.0"
},
"Pod Name": {
"S": "foo"
}
},
{
"Image": {
"S": "foobar:0.2.0"
},
"Pod Name": {
"S": "foo"
}
},
{
"Image": {
"S": "bar:1.0.0"
},
"Pod Name": {
"S": "bar"
}
},
{
"Image": {
"S": "baz:3.0.0"
},
"Pod Name": {
"S": "baz"
}
}
]
【问题讨论】:
标签: javascript node.js json