Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将多个结果返回到一个数组中?_Javascript_Arrays - Fatal编程技术网

Javascript 如何将多个结果返回到一个数组中?

Javascript 如何将多个结果返回到一个数组中?,javascript,arrays,Javascript,Arrays,任务是构建一个函数,在该函数中,它接收一个数组和一个将用作限制的数字。问题是它应该返回一个数组,其结果是如下布尔值:(即[true,false,false])。但我不知道怎么做 我尝试使用for循环填充空数组,但它只返回false function aperturas(arrayDeIngresosSemanales, cantMinEst) { for (var i = 0; i < arrayDeIngresosSemanales.length; i++) { va

任务是构建一个函数,在该函数中,它接收一个数组和一个将用作限制的数字。问题是它应该返回一个数组,其结果是如下布尔值:(即[true,false,false])。但我不知道怎么做

我尝试使用for循环填充空数组,但它只返回false

function aperturas(arrayDeIngresosSemanales, cantMinEst) {

    for (var i = 0; i < arrayDeIngresosSemanales.length; i++) {

    var a = 0;
    var arr = arrayDeIngresosSemanales[i];

    for (var j = 0; j < arr.length; j++) {



    if (arr[j] <= 0) {
        a = a + 1;
      }

    }
    if (a >= cantMinEst) {

      return true;
    } else {

      return false;
    }
  }

}
函数开孔(Arraydeingerossemanales,cantMinEst){
对于(变量i=0;i

光圈([0,0,3,0],[1,2,4,5],[0,0,-1,3);

返回函数中断-使用结果数组代替:

function aperturas(arrayDeIngresosSemanales, cantMinEst) {
  let result = [];

  // ...

  if (a >= cantMinEst) {
    result.push(true);
  }
    result.push(false);
  }

  // ...      

  return result;

}
您甚至可以删除
if
语句:

result.push(a >= cantMinEst);

return
中断函数-改为使用结果数组:

function aperturas(arrayDeIngresosSemanales, cantMinEst) {
  let result = [];

  // ...

  if (a >= cantMinEst) {
    result.push(true);
  }
    result.push(false);
  }

  // ...      

  return result;

}
您甚至可以删除
if
语句:

result.push(a >= cantMinEst);

或者,如果您想使用比
for
循环更具语义的JS功能,您可以保留return语句,但改用函数

arrayDeIngresosSemanales.map((arr) => {
    var a = 0;

    for (var j = 0; j < arr.length; j++) {
        if (arr[j] <= 0) {
            a = a + 1;
        }
    }
    if (a >= cantMinEst) {
        return true;
    } else {
        return false;
    }
})
arraydeingerossemanales.map((arr)=>{
var a=0;
对于(var j=0;j

出于同样的原因,您也可以将内部
for
循环替换为,但这将留给读者作为练习。

或者,如果您想使用比
for
循环更具语义的JS功能,您可以保留return语句,但改用函数。这看起来像这样:

arrayDeIngresosSemanales.map((arr) => {
    var a = 0;

    for (var j = 0; j < arr.length; j++) {
        if (arr[j] <= 0) {
            a = a + 1;
        }
    }
    if (a >= cantMinEst) {
        return true;
    } else {
        return false;
    }
})
arraydeingerossemanales.map((arr)=>{
var a=0;
对于(var j=0;j

同样,您也可以将
的内部
循环替换为,但这将留给读者作为练习。

在计算数组元素后不应立即返回

创建一个结果数组,推送每个数组的计算结果并返回结果

另外,您没有正确调用函数。第一个参数是数组数组数组,您必须像调用aperturas([[0,0,3,0],[1,2,4,5],[0,0,-1]],3)那样调用它。

函数开孔(Arraydeingerossemanales,cantMinEst){
//创建一个数组来存储结果。
var结果=[];
对于(变量i=0;ilog(aperturas([0,0,3,0],[1,2,4,5],[0,0,-1]],3));
计算数组元素后不应立即返回

创建一个结果数组,推送每个数组的计算结果并返回结果

另外,您没有正确调用函数。第一个参数是数组数组数组,您必须像调用aperturas([[0,0,3,0],[1,2,4,5],[0,0,-1]],3)那样调用它。

函数开孔(Arraydeingerossemanales,cantMinEst){
//创建一个数组来存储结果。
var结果=[];
对于(变量i=0;iconsole.log(aperturas([0,0,3,0],[1,2,4,5],[0,0,-1]],3));
从内部循环返回
。创建一个数组,而不是返回
.push()
将布尔值加到它上面。然后在最末端,在外循环之后返回该数组。没有任何外部函数的情况下,有什么方法可以这样做吗?你说的“外部函数”是什么意思?不要从内循环返回。创建一个数组,而不是返回
。push()
将布尔值加到它上面。然后在最末端,在外循环之后返回该数组。有没有办法在没有任何外部函数的情况下执行此操作?您所说的“外部函数”是什么意思?