gpt4 book ai didi

arrays - 比较两个数组,获取不常见的值

转载 作者:行者123 更新时间:2023-12-05 00:42:23 28 4
gpt4 key购买 nike

我有一个简单的问题,我无法思考:

var oldValues : Array = [ 4, 5, 6 ];
var newValues : Array = [ 3, 4, 6, 7 ];
  • 我想从 newValues 中获取不在 oldValues 中的值 - 3, 7
  • 我想从不在 newValues 中的 oldValues 中获取值 - 5
  • 将两组值放在一起的方法也很好 - 3, 5, 7

  • 我只能通过使用执行大量冗余检查的嵌套循环来为每个方法考虑复杂的方法。有人可以建议更干净的东西吗?谢谢。

    最佳答案

    您需要一堆循环,但您可以优化它们并通过使用查找对象完全避免嵌套循环。

    var oldValues : Array = [ 4, 5, 6 ];
    var newValues : Array = [ 3, 4, 6, 7 ];

    var oldNotInNew:Array = new Array();
    var newNotInOld:Array = new Array();

    var oldLookup:Object = new Object();

    var i:int;

    for each(i in oldValues) {
    oldLookup[i] = true;
    }

    for each(i in newValues) {
    if (oldLookup[i]) {
    delete oldLookup[i];
    }
    else {
    newNotInOld.push(i);
    }
    }

    for(var k:String in oldLookup) {
    oldNotInNew.push(parseInt(k));
    }

    trace("Old not in new: " + oldNotInNew);
    trace("new not in old: " + newNotInOld);
    结果:

    Old not in new: 5

    new not in old: 3,7

    关于arrays - 比较两个数组,获取不常见的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2121994/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com