let nums = new Array(100);
for (let i = 0; i < nums.length; i++) {
nums[i] = i;
}
//乱序
for (let i = nums.length-1; i >= 0; i--) { // 99 98
let index = parseInt(Math.random()*i); // 0-98 0-97
let tem = nums[i]; // 33 33
nums[i] = nums[index]; //nums[33] = 99 nums[97] = 99
nums[index] = tem; //nums[99] = 33 nums[33] = 97
}
console.log(nums[98]+":"+nums[99])
//删掉最后两个元素
nums.length = nums.length - 2;
//1嵌套循环
for (let i = 0; i < 100; i++) {
for (let j = 0; j < nums.length; j++) {
if(nums[j]==i){
break;
}
if(j==nums.length-1){
console.log(i);
}
}
}
//2性能上更好,原理是下标是个数
function fn(nums){
let booArr = new Array(100);
let result = [];
for (let i = 0; i < booArr.length; i++) {
booArr[i] = false;
}
for (let i = 0; i < nums.length; i++) { //33 99
booArr[nums[i]] = true; //nums[i]:0-99但是不含33和99的所有整数
}
for (let i = 0; i < booArr.length; i++) {
if(!booArr[i]){
result.push(i)
}
}
return result
}
let result = fn(nums);
console.log(result)
</script>