首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在没有json的两个数组中查找匹配值

在没有json的两个数组中查找匹配值
EN

Stack Overflow用户
提问于 2019-02-25 04:32:41
回答 3查看 35关注 0票数 0

我见过this questionthis one,但似乎没有一个答案对我有效。

我们的想法是找出colors1和colors2中的内容,并只将匹配的颜色保留到另一个数组中: colorsPicked。

代码语言:javascript
运行
复制
const colors1 = ["red", "blue"];
const colors2 = ["red", "yellow"];   
const elements = ["red", "blue", "green", "yellow"];  

const colorsPicked = elements.filter(el => colors1.concat(colors2).includes(el));
console.log(colorsPicked);

在上面的示例中,colorsPicked包含:红色、蓝色、黄色。

作为结果,我需要得到的只是colors1和colors2之间匹配的颜色。也就是说,colorsPicked应该返回: red

如果colors1包含红色、蓝色、黄色,而color2包含红色、蓝色、黑色,则colorsPicked应返回:红色、蓝色

如何做到这一点?

EN

回答 3

Stack Overflow用户

发布于 2019-02-25 04:36:21

只需检查其中一个的值是否也在另一个中。

代码语言:javascript
运行
复制
const colors1 = ["red", "blue"];
const colors2 = ["red", "yellow"];   

const colorsPicked = colors2.filter(el => colors1.includes(el));
console.log(colorsPicked);

票数 0
EN

Stack Overflow用户

发布于 2019-02-25 04:36:22

只需检查另一个数组中元素的索引

代码语言:javascript
运行
复制
const colors1 = ["red", "blue"];
const colors2 = ["red", "yellow"];  
console.log(colors1.filter((e)=>colors2.indexOf(e)>-1))

票数 0
EN

Stack Overflow用户

发布于 2019-02-25 04:39:34

可以在过滤color1时使用indexOf()来查看color2中的值是否如下所示

代码语言:javascript
运行
复制
const colors1 = ["red", "blue"];
const colors2 = ["red", "blue"];   
const colorsPicked = colors1.filter(function(el){
    if(colors2.indexOf(el)>-1){return el;}
});
console.log(colorsPicked);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54856260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档