我正在尝试格式化从csv文件创建的数组。在将其解析为正确的格式后,我需要一种方法来删除我在csv文件中遇到的重复项。
这是我拥有的数组的一个示例
[{
"pccs": ["1ADA"],
"markets": [{
"origin": "LAX",
"destination": "DFW"
}, {
"origin": "LAX",
"destination": "IAH"
}, {
"origin": "LAX",
"destination": "IAH"
}, {
"origin": "LAX",
"destination": "IAH"
}]
}, {
"pccs": ["1ABA"],
"markets": [{
"origin": "LAX",
"destination": "JFK"
}]
}]
我试图将其格式化为仅为列表中的每个元素显示一个唯一集,以获得如下响应:
[{
"pccs": ["1ADA"],
"markets": [{
"origin": "LAX",
"destination": "DFW"
}, {
"origin": "LAX",
"destination": "IAH"
}]
}, {
"pccs": ["1ABA"],
"markets": [{
"origin": "LAX",
"destination": "JFK"
}]
}]
我倾向于使用filter()函数,但不确定如何用对象列表实现它。我需要创建一个嵌套循环来访问每个元素吗?
可以使用every()
创建一个助手函数来比较两个对象。然后在数组每个元素的市场上使用
filter()
,并移除所需元素。
注意:我使用了forEach,code将修改原始数组,因为我认为您需要修改原始数组。如果不是这样,请询问我,我将添加其他解决方案。
const arr = [{ "pccs": ["1ADA"], "markets": [{ "origin": "LAX", "destination": "DFW" }, { "origin": "LAX", "destination": "IAH" }, { "origin": "LAX", "destination": "IAH" }, { "origin": "LAX", "destination": "IAH" }] }, { "pccs": ["1ABA"], "markets": [{ "origin": "LAX", "destination": "JFK" }] }]
const compObjs = (obj1, obj2) => Object.keys(obj1).every(k => obj1[k] === obj2[k])
arr.forEach(x => {
x.markets = x.markets.filter(a => x.markets.find(b => compObjs(b,a)) === a)
})
console.log(arr)
问题内容: 我有一个非常简单的JavaScript数组,其中可能包含重复项,也可能不包含重复项。 我需要删除重复项并将唯一值放入新数组中。 我可以指出我尝试过的所有代码,但是我认为这没用,因为它们不起作用。我也接受jQuery解决方案。 问题答案: 快速的使用jQuery:
我有数组的电子邮件和ID,所以我想删除重复的元素谁有类似的ID的。 例子: 现在我需要删除具有ID的重复元素是常见的。从某种意义上说,我期待最终的阵列是
问题内容: 我有一个numpy值数组: 我想从数组中删除具有重复值的行。例如,上述数组的结果应为: 我不确定如何使用numpy有效地做到这一点而无需循环(数组可能会很大)。有人知道我该怎么做吗? 问题答案: 这是一个选择:
如何从另一个数组中删除数组的元素?我有第一个数组[“a”“b”“c”]。以及第二阵列[“a”、“e”]、[“e”、“b”、“c”]、[“a”、“c”]。 如何从第二个数组中删除第一个数组的元素? 结果,得到[["e"],["e"], []].
问题内容: 我使用下面的代码行遍历数据库中的一个表: 如果我打印出数组: 我会得到这个: 但是我想摆脱数组中的重复项,所以我使用 我得到下面的奇怪结果,这不是我想要的结果: 理想情况下,我认为它应该返回以下内容: 我该怎么做才能正确处理?我使用了错误的PHP语法/默认功能吗? 问题答案: 该功能将为您完成此操作。您只需要添加标志:
问题内容: 我有一个包含对象数组的对象。 我想知道什么是从数组中删除重复对象的最佳方法。举例来说,事物……东西将变成…… 问题答案: 一种原始方法是: