给定一个范围,如何在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/