【问题标题】:How to select unknown numbers in javascript?如何在javascript中选择未知数字?
【发布时间】:2010-09-24 02:33:23
【问题描述】:

例如我有:

数组(2,1,3,4,5,6,7)

并且我已经知道了 (2,1,3)

如果我知道从17 的所有数字以及我已经知道

所以我想要一个包含我还不知道的数字的数组。

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

【问题讨论】:

  • 1、2、3是什么意思?我们到底在说什么? <span>1</span> 或...只是页面上的随机文本块?给我们一些示例 HTML。
  • 它们只是随意散布在整个文档中,还是它们是兄弟节点?它有很大的不同。
  • 它可以是任何东西,在这种情况下简单的数字也是完美的。编辑了问题

标签: javascript arrays dom get element


【解决方案1】:

如果 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),即在任何一个中都找不到元素。

【讨论】:

    猜你喜欢
    • 2015-11-12
    • 1970-01-01
    • 2023-04-08
    • 2013-01-08
    • 1970-01-01
    • 2011-06-06
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    相关资源
    最近更新 更多