首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个数组中相同字符串的数量(JS)

问两个数组中相同字符串的数量(JS)
EN

Stack Overflow用户
提问于 2013-11-11 14:40:00
回答 3查看 53关注 0票数 0

所以,我正在用Javascript编写一个文本机器人。我以前编写过c#代码,但这是我的第一个Javascript程序。所以我的问题是,如何获得两个数组之间相同字符串的数量?因此,假设我们有一个数组,它包含值“how”、"are“和"you”。另一个数组具有值"how“、"is”、"it“和”how“。那么,如何创建从这些数组返回1的函数呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-11 14:45:10

代码语言:javascript
复制
var count = 0;
arr1.forEach(function (elem) {
    if (arr2.indexOf(elem) !== -1) {
        count++;
    }
});

http://jsfiddle.net/Gsg4h/

票数 0
EN

Stack Overflow用户

发布于 2013-11-11 14:42:26

你要找的是所谓的数组交集。计算它,然后取结果数组的长度。

javascript中数组交集的最简单代码

票数 0
EN

Stack Overflow用户

发布于 2013-11-11 14:50:31

这是一个经过改编的underscore.intersect()。只要所有本机数组方法( indexOf、every和filter )都是多填充的,就应该工作

代码语言:javascript
复制
var intersect = function (array) {
    var rest = array.slice.call(arguments, 1);
    return array.filter(function(item) {
        return rest.every(function(other) {
            return other.indexOf(item) >= 0;
        });
    });
}

可以称为:

代码语言:javascript
复制
var dups = intersect([1,2,3],[1,2],[5,8,2]);//[2]
var numofdups = dups.length;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19908978

复制
相关文章

相似问题

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