2017-06-03 56 views
0

在我的JavaScript文件中,我有一個var可用num,其值爲3。我想要做的是獲得任何不是314之間的數字。給你一個想法:不是給定數字的數字

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

只是刪除從NUM人[1,2,3,4]使用切片 – binariedMe

回答

3

您可以使用Array#filter並返回不相等的值。

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

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

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

+0

對於工作我! –

2

你不需要if/else這樣做。您可以定義哪個數字是您想要排除的數字,然後將其從數字數組中過濾出來。

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

如需進一步信息,關於filter方法請看看here

0

使用一個簡單的for循環,並且產生通過檢查數字陣列上的範圍內進行迭代。

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

您可以用Array#splice方法

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))

相關問題