Javascript 打印一个新数组,其中所有元素都将大于/小于特定数字

Javascript 打印一个新数组,其中所有元素都将大于/小于特定数字,javascript,arrays,Javascript,Arrays,我用下面注释中的代码修改了我的问题。我添加了两个条件,还有一个问题,我想问题是缩进!请检查并告诉我,如果你在我的代码中看到错误 function filterNums (array, num, condition) { var outputarray = []; for (let i = 0; i < array.length; i = i + 1) { if (condition == "greater"){ if (array[i] > num)

我用下面注释中的代码修改了我的问题。我添加了两个条件,还有一个问题,我想问题是缩进!请检查并告诉我,如果你在我的代码中看到错误

function filterNums (array, num, condition) {

var outputarray = [];
for (let i = 0; i < array.length; i = i + 1) {
  if (condition == "greater"){
    if (array[i] > num) {
      outputarray.push(array[i]); // put the array number in to the output array
    }
  } else if (condition == "less") {
    if (array[i] < num) {
      outputarray.push(array[i]); // put the array number in to the output array
    }
}   else if (condition!=='undefined'){
    if (array[i] > num){
        outputarray.push(array[i])
    }
    }   else if (num!=='undefined' && condition!=='undefined')
            if (array[i] > 0){
                outputarray.push(array[i])
    }

  
}

return outputarray;
函数过滤器nums(数组、num、条件){
变量输出阵列=[];
for(设i=0;inum){
push(数组[i]);//将数组号放入输出数组
}
}否则如果(条件==“更少”){
if(数组[i]num){
outputarray.push(数组[i])
}
}else if(num!='undefined'&&condition!='undefined')
if(数组[i]>0){
outputarray.push(数组[i])
}
}
返回输出阵列;
}

log(filterNums([-3,3,4,0,44,-11,5])

输出结果必须是:[3,4,44,5] 但我得到了[]。我的代码中有什么问题?
因此,在输入数据中,我们没有num和condition,只有array。它必须从array返回所有正数。

您可以使用内置函数来实现这一点:

const filterNums=(arr、val、condition)=>
arr.filter(项目=>(条件==‘更大’?项目>val:项目log(filterNums([-2,2,3,0,43,-13,6],-33,'less'));//[]
我将为这个好主意编写一个简单的Javascript基本代码。您可以像前面的答案一样使用内置函数(
过滤器
),但首先尝试在没有内置函数帮助的情况下使用,以获得更多经验

/*
过滤单元([-1,2,4,0,55,-12,3],11,‘更大’)//[ 55]
过滤单元([-2,2,3,0,43,-13,6],6,'小于');//[-2, 2, 3, 0, -13]
过滤器单元([-2,2,3,0,43,-13,6],-33,‘小于’);//[]*/
函数过滤器nums(数组、num、条件){
变量输出阵列=[];
for(设i=0;inum){
push(数组[i]);//将数组号放入输出数组
}
}否则如果(条件==“更少”){
if(数组[i]0){
push(数组[i]);//将正数数组放入输出数组
}
}
}
返回输出阵列;
}
log(filterNums([-1,2,4,0,55,-12,3,11,'更大'))
log(filterNums([-2,2,3,0,43,-13,6,6,'less'))
log(filterNums([-2,2,3,0,43,-13,6],-33,'less'))
//新编辑
log(filterNums([-3,3,4,0,44,-11,5]);
//新编辑

log(filterNums([-3,3,4,0,44,-11,5,9))所有必须说的话都可以在讨论OP方法的评论中找到。因此,实现是剩下的唯一可以提供的东西

//引用OP提供的第一个问题/版本。。。
//默认情况下,数字为0,最后一个参数为“更大”
函数过滤器数值(arr、val、条件){
//如果要保存,请清除数值。
val=数字(val);
val=数字。isNaN(val)?0:val;
常量查找表={
//不鼓励的非标准用法
“更大”:num=>num>val,
“下限”:num=>numnumnum>=val,
“GT”:num=>num>val,
“EQ”:num=>num==val,
'LT':num=>num“LTE”:num=>num您尝试过使用吗?试一试,在这里包括您尝试过的内容,然后我们会为您提供一些帮助。想想看……如果已经有一个本机的
filter
方法,为什么不将条件表示为函数并提供,以便直接传递给这个方法……因此……
filterNums([-1,2,4,0,55,-12,3,11,'更大');
然后变成…
[-1,2,4,0,55,-12,3]。过滤器(num=>num>11)
…可读性更高,甚至更短。不需要实现额外的代码来确定像
'better'
'less'
这样的情况,甚至还有一天
'greaterThanOrEqualTo'
,等等…只需相应地更改回调
num=>num>=11
@j2ааа。。.
“我编写了一个名为filterNums的函数”
…但是代码实际上丢失了。因此,没有人能告诉或暗示你在哪里被卡住了。因此,提供一个声称自己实际编写的代码也是非常感谢的。@Пааааааааааабааабааа通过简短的说明了解您的实际问题以及您将如何处理/解决它。由于您提到……
“我添加了两个条件,还有一个问题,我认为问题在缩进中!”
…您在JavaScript方面的经验水平如何?最后一个问题是为了了解您需要哪一级别的支持。这是我在Java脚本方面的第一项任务!级别非常低!但我需要完成这项任务。使用不同的输入数据)非常感谢!!!有效!!!如果有效,请接受答案!!!但还有其他问题吗一个输入数据的案例!!)不客气,如果你有任何新问题,请提问。如果有效,请接受答案我用你的例子修改了我的代码!!非常感谢!但是还有一个错误!如果你有时间,请帮助!!!你很好