2017-06-03 6 views
0

In meiner JavaScript-Datei habe ich eine var iable num mit einem Wert von 3. Was ich tun möchte, ist eine beliebige Nummer, die nicht 3 ist, zwischen 1 und 4. Um Ihnen eine Vorstellung davon zu geben:Nummer, die keine bestimmte Nummer ist

if number equal 3 
    return [1,2,4] 
elif number equal 1 
    return [2,3,4] 
elif number equal 2 
    return [1,3,4] 
elif number equal 4 
    return [1,2,3] 
+0

nur num von [1,2,3,4] Scheibe mit – binariedMe

Antwort

3

Sie könnten Array#filter verwenden und die ungleichen Werte zurückgeben.

function getArrayWithout(array, v) { 
 
    return array.filter(function (a) { return a !== v; }); 
 
} 
 

 
var array = [1, 2, 3, 4]; 
 

 
console.log(getArrayWithout(array, 3));

+0

, das funktioniert für mich! –

2

Sie brauchen das if/else nicht. Sie könnten einfach definieren, welche Nummer Sie ausschließen möchten, und sie dann aus dem Zahlenfeld herausfiltern.

var numberToExclude = 3; 
 
var numbers = [1,2,3,4]; 
 
console.log(numbers.filter(number => number !== numberToExclude));

Für weitere Informationen in Bezug auf die filter Methode bitte here einen Blick.

0

Iterate über den Bereich für eine einfache Schleife und erzeugen Array durch die Zahl überprüfen.

function genArray(num, start = 1, end = 4) { 
 
    // initialize the result array 
 
    var res = []; 
 
    // iterate based on the range 
 
    for (var i = start; i <= end; i++) 
 
    // push into the array if number is not `num` 
 
    i != num && res.push(i) 
 
    // return the result 
 
    return res; 
 
} 
 

 
console.log(genArray(3)); 
 
console.log(genArray(2)); 
 
console.log(genArray(3, 1, 10)); 
 
console.log(genArray(3, 2, 10));

0

Sie könnten

function except(num){ 
 
var arr=[1,2,3,4] 
 
if(arr.indexOf(num) > -1) 
 
arr.splice(arr.indexOf(num),1); 
 
return arr 
 
} 
 

 
console.log(except(3)) 
 
console.log(except(1)) 
 
console.log(except(2))
mit Array#splice Methode tun entfernen

Verwandte Themen