javascript - 比较两个数组在javascript中无法正常工作
问题描述
正如标题所说,我正在尝试比较两个数组的内容。第二个数组可以包含多个值,并且不一定在第一个数组中生成相同的值。第二个数组由一堆字符串值组成。我的应用程序如下工作。每次我单击一个按钮时,它都会生成一个字符串元素数组。在将它推送到第二个数组之前,我想检查这个数组是否包含所有元素(这是它失败的地方)。如果是这样,我想从第二个数组中删除以下元素。第二个数组必须包含第一个数组中的所有元素才能将其删除。
如果不是,则将元素推送到第二个数组。我知道按钮的代码和按钮在单击时会生成一些随机字符串,所以我不会在我的问题中包含这个功能。到目前为止,这是我的代码。
compare(array1, array2) {
return array1.every(i => array2.includes(i));
}
check(array1, array2) {
if (compare(array1, array2)) {
this.remove(array1);
} else {
this.add(array1, array2);
}
}
add(array1, array2) {
for (let i = 0; i < array1.length; i++) {
array2.push(array1[i]);
}
}
remove(array1, array2) {
for (let i = 0; i < array1.length; i++) {
for (let j = 0; j < array2.length; j++) {
if (array1[i] === (array2[j])) {
array2.splice(elements[i], 1);
}
}
}
}
你看到任何明显的错误吗?有时它可以工作,但是当第二个数组很大时它不起作用。
解决方案
推荐阅读
- postgresql - 如何强制 PostgreSQL 使用某个索引?
- c# - 如何在 C# 中检查回复状态 - Telegram Bot
- c# - 如何使用 C# 从 Dropbox 流式传输 Excel 文件?
- apache-spark - Spark Scheduler 在 K8s 环境中是如何工作的?
- python - 有没有办法批量配置文件(ViewID)更新查询?
- jquery - 在自定义嵌套选项卡中定位子选项卡
- couchdb - 使用 couchdb 以编程方式创建文档
- android - 轻推分页回收器视图以提示下一页而不切换
- azure-cosmosdb - Azure Cosmos DB GeoJson 支持 - MultiPolygon,功能
- spring-boot - 在我的 Spring Boot 项目中包含 Oauth2 时出现 JAXB 错误