javascript - 如何比较 JavaScript 中的两个数组?但关键是一个字符串
问题描述
我是 JavaScript 的初学者,我有两个数组。
我必须比较并找出它们之间是否存在重复值。我不能这样做,因为数组的键是一个字符串。如你看到的:
[
{ "species-name": "Cana-de-açucar"},
{ "species-name": "Citros"},
{ "species-name": "Eucalipto"},
{ "species-name": "Feijão"},
{ "species-name": "Flor de Corte"},
{ "species-name": "Floresta"},
{ "species-name": "Fruticultura"},
{ "species-name": "Girassol"},
{ "species-name": "Hortaliças"},
{ "species-name": "Mandioca"}
]
另一个数组:
[
{ "species-name": "Eucalipto"},
{ "species-name": "Flor de Corte"},
{ "species-name": "Floresta"}
]
有人能帮我吗?先感谢您。
解决方案
这是实现您需要的简单解决方案:
const arr1 = [
{ "species-name": "Cana-de-açucar"},
{ "species-name": "Citros"},
{ "species-name": "Eucalipto"},
{ "species-name": "Feijão"},
{ "species-name": "Flor de Corte"},
{ "species-name": "Floresta"},
{ "species-name": "Fruticultura"},
{ "species-name": "Girassol"},
{ "species-name": "Hortaliças"},
{ "species-name": "Mandioca"}
];
const arr2 = [
{ "species-name": "Eucalipto"},
{ "species-name": "Flor de Corte"},
{ "species-name": "Floresta"},
{ "species-name": "Non duplicate value" }
];
const extractValue = ({ 'species-name': speciesName }) => speciesName;
const duplicateValues = arr1
.map(extractValue)
.filter(x => arr2
.map(extractValue)
.includes(x)
);
console.log(duplicateValues);
推荐阅读
- angular - 材质对话框中的 DebounceTime runOutsideAngular
- android - 从钛云推送中没有收到关于 android 的通知
- html - 在移动设备上将面板标题中的跨度分隔为两行
- python - 使用 RandomizedSearchCV 在 sklearn 中调整超参数需要大量时间
- node.js - 快递应用程序无法出错
- python - 使用 Pandas 基于多个字符串过滤行
- python - 使用多个文件夹和子文件夹训练 CNN 模型
- php - 我如何告诉此代码重定向到我想要的 URL?
- c# - 有什么方法可以创建查询,包括投影中的函数和 sqlkata 中的外部应用?
- ios - LaunchScreen.xib 中使用的图像的黑色背景