给定一个范围,如何在javascript中找到无序数组中缺少的数字?例如,如果我知道数组的范围是[48,79]并且数组是:

[56, 76, 48, 69, 60, 68, 57, 58, 52,
  72, 61, 64, 65, 66, 73, 75, 77,
  49, 63, 50, 70, 51, 74, 54, 59,
  78, 79, 71, 55, 67]


缺少的数字/输出将是62,53。

最佳答案

你应该试试这个



function findNumbers(arr) {
    var sparse = arr.reduce((sparse, i) => (sparse[i]=1,sparse), []);
    return [...sparse.keys()].filter(i => i && !sparse[i]);
}

var myArr = [56, 76, 48, 69, 60, 68, 57, 58, 52,
  72, 61, 64, 65, 66, 73, 75, 77,
  49, 63, 50, 70, 51, 74, 54, 59,
  78, 79, 71, 55, 67]
var res= findNumbers(myArr );
console.log(res);

关于javascript - 给定范围,在数组中查找缺失的数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60499472/

10-12 13:41