Javascript 如何将多个结果返回到一个数组中?
任务是构建一个函数,在该函数中,它接收一个数组和一个将用作限制的数字。问题是它应该返回一个数组,其结果是如下布尔值:(即[true,false,false])。但我不知道怎么做 我尝试使用for循环填充空数组,但它只返回falseJavascript 如何将多个结果返回到一个数组中?,javascript,arrays,Javascript,Arrays,任务是构建一个函数,在该函数中,它接收一个数组和一个将用作限制的数字。问题是它应该返回一个数组,其结果是如下布尔值:(即[true,false,false])。但我不知道怎么做 我尝试使用for循环填充空数组,但它只返回false function aperturas(arrayDeIngresosSemanales, cantMinEst) { for (var i = 0; i < arrayDeIngresosSemanales.length; i++) { va
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;i log(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;i console.log(aperturas([0,0,3,0],[1,2,4,5],[0,0,-1]],3));
不从内部循环返回
。创建一个数组,而不是返回.push()
将布尔值加到它上面。然后在最末端,在外循环之后返回该数组。没有任何外部函数的情况下,有什么方法可以这样做吗?你说的“外部函数”是什么意思?不要从内循环返回。创建一个数组,而不是返回。push()
将布尔值加到它上面。然后在最末端,在外循环之后返回该数组。有没有办法在没有任何外部函数的情况下执行此操作?您所说的“外部函数”是什么意思?