当前位置: 首页 > 面试题库 >

如何获取JavaScript中两个数组之间的差异?

应涵容
2023-03-14
问题内容

有没有办法返回JavaScript中两个数组之间的差?

例如:

var a1 = ['a', 'b'];
var a2 = ['a', 'b', 'c', 'd'];

// need ["c", "d"]

问题答案:

我假设您正在比较普通数组。如果不是,则需要将 for 循环更改 for .. in 循环

function arr_diff (a1, a2) {



    var a = [], diff = [];



    for (var i = 0; i < a1.length; i++) {

        a[a1[i]] = true;

    }



    for (var i = 0; i < a2.length; i++) {

        if (a[a2[i]]) {

            delete a[a2[i]];

        } else {

            a[a2[i]] = true;

        }

    }



    for (var k in a) {

        diff.push(k);

    }



    return diff;

}



console.log(arr_diff(['a', 'b'], ['a', 'b', 'c', 'd']));

console.log(arr_diff("abcd", "abcde"));

console.log(arr_diff("zxc", "zxc"));

如果您不关心向后兼容性,那么更好的解决方案是使用过滤器。但是,此解决方案仍然有效。



 类似资料:
  • 问题内容: 我有两个这样的结果集: 我需要的最终结果是这些数组之间的差异–最终结果应如下所示: 是否可以在JavaScript中执行类似的操作? 问题答案: 仅使用本机JS,类似的方法将起作用:

  • 本文向大家介绍如何获取iOS中两个日期之间的差异?,包括了如何获取iOS中两个日期之间的差异?的使用技巧和注意事项,需要的朋友参考一下 获得两个日期之间的差异很容易。您应该知道如何在两个日期之间玩。 我们将使用DateFormatter类格式化日期。 DateFormatter的实例创建 NSDate对象的字符串表示形式,并将日期和时间的文本表示形式转换为 NSDate对象。 你可以在这里读更多关

  • 问题内容: 我有以下两个数组。我想要这两个数组之间的区别。也就是说,如何找到两个数组都不存在的值? 问题答案: 注意: 这个答案将返回的值是不存在的,它不会返回值不在。

  • 问题内容: 我知道我可以使用momentjs做任何事情,还可以做一些涉及日期的事情。但是令人尴尬的是,我很难去做一件看起来很简单的事情:得到两次之间的差。 例: 我试过的 我不知道那里的“ 10”是什么。我住在巴西,所以如果相关的话,我们是utc-0300。 结果是持续时间正确的内部值: 所以,我想我的问题是:如何将momentjs持续时间转换为时间间隔?我肯定可以用 但我觉得有一些更 优雅 ,我

  • 问题内容: 如何获取JavaScript中两个日期之间的天数?例如,在输入框中指定两个日期: 问题答案: 这是快速的实现,作为解决问题中提出的问题的概念证明。它依赖于这样一个事实,您可以通过减去两个日期来获得两个日期之间经过的毫秒数,这会将它们强制为原始数字值(自1970年初以来的毫秒数)。 您应该注意,“常规”日期API(名称中没有“ UTC”)在用户浏览器的本地时区中运行,因此,如果您的用户所