Top.Mail.Ru
Ответы

Почему метод set() не работает, не удаляет одинаковые значения?

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
 let ArrayMathVar = []; 
let ArraySing = ["+", "-", "/", "*"]; 
let min = 1, max=2, stepSing=4; 
let numOne=0, numTwo=0, sing="", numVar=""; 
let ArrayFilterNum=[]; 
 
function num(){ 
 for (let  i=0; i < 8; i++){ 
 
   ArrayMathVar[i] = new Array(0); 
   
   for (let j=0; j < 1; j++){ 
    
      numOne = getRandomNumber(min, max); 
      numTwo = getRandomNumber(min, max); 
      sing = ArraySing[Math.floor(Math.random() * (stepSing - 0) + 0)]; 
       
      numVar = eval(numOne + sing + numTwo);  
       
         if( Number.isInteger(numVar) && numVar > 0){ 
       
               ArrayMathVar[i][j] = numOne + sing + numTwo + "=" + numVar; 
                
          }else{ 
		   
               ArrayMathVar[i][j] = "null";           
            
      }  	  
  
   }  
   
} 
console.log( ArrayMathVar ); 
 
}  
 
function getRandomNumber(min, max) { 
 
      return Math.floor(Math.random() * (max - min) + min) 
}   
 
function DelOdinakovoe(){ 
 
  let set = new Set(ArrayMathVar); 
  let setarr=[...set]; 
   console.log(setarr); 
} 
   
  
num(); 
DelOdinakovoe(); 
 
 
По дате
По рейтингу
Аватар пользователя
Знаток

Просто предположение, попробуй через цикл добавлять в new set по отдельности каждое значение массива твоего.

let _set = new Set();

for (let index = 0; i < ArrayMathVar.length; i++){
_set.add(ArrayMathVar[index])
}

- типа того