【发布时间】:2021-05-06 22:59:21
【问题描述】:
我有两个数组
var arr1 = ["xxx", "yyy"]
var arr2 = [
{domain="xxx", kwd="a", position=1},
{domain="yyy", kwd="a", position=2},
{domain="xxx", kwd="b", position=1},
{domain="yyy", kwd="b", position=2},
{domain="yyy", kwd="c", position=2},
{domain="xxx", kwd="d", position=1}
]
我希望当 arr1 中的 域 在 arr2 中没有该域的 kdw 时,将推送 position="n/a"。所以基于上面的输出数组应该是:
var arr3 = [
{domain="xxx", kwd="a", position=1},
{domain="yyy", kwd="a", position=2},
{domain="xxx", kwd="b", position=1},
{domain="yyy", kwd="b", position=2},
{domain="xxx", kwd="c", position="n/a"},
{domain="yyy", kwd="c", position=2},
{domain="xxx", kwd="d", position=1},
{domain="yyy", kwd="d", position="n/a"},
]
我不知道如何实现这一目标。 我已经启动了这段代码,但我不知道它是否相关:
var arr1 = [domain="xxx", domain="yyy" ]
var arr2 = [{domain="xxx", kwd="a", position=1},{domain="yyy", kwd="a", position=2}, {domain="xxx", kwd="b", position=1}, {domain="yyy", kwd="b", position=2},{domain="yyy", kwd="c", position=2}, {domain="xxx", kwd="d", position=1}]
var arr3 [];
var i;
for (i = 0; i < arr2.domain.length; i++) {
if(// logic ) {
arr3.push({
domain: arr2[i].domain,
kwd: arr2[i].kwd,
position: arr2[i].position
}) else {
arr3.push({
domain: arr2[i].domain,
kwd: arr2[i].domain,
position: "n/a"
}
}
}
}
提前感谢您的帮助。亲切的问候。
【问题讨论】:
-
一个问题,
arr2和arr3怎么不会产生错误? -
所有域值实际上都是唯一的吗?
-
@charlietfl 是的。
-
然后提供具有唯一值和预期结果的样本。当你把它们都做成一样的时候很难弄清楚。见minimal reproducible example
标签: javascript jquery arrays