繁体   English   中英

如何在JavaScript中选择未知数字?

[英]How to select unknown numbers in javascript?

例如,我有:

阵列( 2134567

我已经知道213

我应该怎么弄( 4567 )如果我知道,所有的数字存在从17和数字我已经知道

所以我想用一个我不知道的数字数组。

对不起,如果听起来很蠢:|

如果A = (2, 1, 3)和B = (1, 2, 3, 4, 5, 6, 7)

然后,您是否需要不常见的元素(即,两个元素都不存在)? 您可以尝试以下方法:

//note: could be improved - wrote it quickly
function uncommon(a, b) {

    var map = {};
    var alreadyAdded = {};
    var uncommonElements = [];

    var arrays = (a.length > b.length) ? 
                     {first: b, second: a} : 
                     {first: a, second: b};

    for(var i = 0; i < arrays.first.length; i++) {
        map[arrays.first[i]] = true;
    }

    for(var i = 0; i < arrays.second.length; i++) {
        if(!map[arrays.second[i]]) {
            uncommonElements.push(arrays.second[i]);
            alreadyAdded[arrays.second[i]] = true;
        }
    }

    for(var i = 0; i < arrays.first.length; i++) {
        if(!map[arrays.second[i]] && !alreadyAdded[arrays.first[i]]) {
            uncommonElements.push(arrays.first[i]);
        }
    }

    return uncommonElements;
}

另请注意,如果您有:

A = (2, 1, 3, 9)和B = (1, 2, 3, 4, 5, 6, 7) ,您将得到(2, 1, 3, 9)即在任何一个中都找不到的元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM