javascript - 我有两个数组,我试图找到匹配并返回的值。我尝试了几种方法
问题描述
我正在使用两组循环,我试图找到组内的值并将它们与数组进行比较。我创建了一个名为 boolean 的变量来保存布尔值,但我一直在获取不匹配的值,如何在不创建另一个循环的情况下获取不匹配的值?
function sayHello() {
let array = ["go-fbce", "go-zio", "go-fihjw", "go-abcd"];
const ids = [
{
"id": "z-333",
"groups": [
"go-zio",
"go-fbce"
]
},
{
"id": "z-31993",
"groups": [
"go-zio",
"go-abcd"
]
}
]
let group = new Set(array)
let answer = []
for(let j = 0 ; j < ids.length; j++){
let value = ids[j];
for(let k = 0; k < value["groups"].length; k++) {
let instSg = value["groups"][k];
let boolean = group.has(instSg)
console.log(boolean);
// }
}
}
}
解决方案
您可以使用它来将过滤后的结果作为数组取回。
const allGroups = ids.reduce((accum, elem) => accum.concat(elem['groups']), []);
const uniqueGroups = new Set(allGroups);
const result = array.filter(elem => !uniqueGroups.has(elem));
console.log(result); // ["go-fihjw"]
推荐阅读
- mongodb - 如何更改托管在 MS Azure 上的 Web 应用程序的访问 URL 中的域名?
- sql - 如何将数据从表添加到其他 sql
- npm - 为什么我在启动 Expo 客户端时不断收到此错误代码
- r - agnes() 和 hclust() 做同样的事情吗?
- oracle - ORA-12560: Tns 协议适配器错误 + ORA-01034: ORACLE 不可用
- reactjs - 如何在反应中更新嵌套数组和对象
- python - 嵌套字典理解的执行顺序
- reactjs - 如何在 AWS amplify Authenticator ui-react 上更改 UI 组件
- android - Android - 如何使用 Canvas 在 OnDraw() 中设置自定义视图的宽度和高度?
- django - 如何在 django 中自定义 unique = true