在我的JavaScript文件中,我有一个var
iable num
,其值为3
。我想做的是在3
和1
之间获取不是4
的任何数字。为了让您了解它:
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 :(得分: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));

答案 1 :(得分:2)
你不需要if / else这样做。您可以定义哪个是要排除的数字,然后从数字数组中过滤掉它。
var numberToExclude = 3;
var numbers = [1,2,3,4];
console.log(numbers.filter(number => number !== numberToExclude));

有关filter
方法的更多信息,请查看here。
答案 2 :(得分: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));
答案 3 :(得分: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))