在javascript中,用不同的数字替换数组元素

在javascript中,用不同的数字替换数组元素,javascript,arrays,function,Javascript,Arrays,Function,我试图写一个函数,它接受一个数组和一个最大截止数。数字是字符串可以包含的最大数字,此数字替换大于该数字的所有数组元素。例如,如果数组为[1,2,3,4,5,6],截止数为4,则输出应为[1,2,3,4,4,4] 这是我到目前为止得到的,但我只得到[1,2,3,4,5]作为输出,而不是[1,2,3,3,3]。有什么建议吗 var maxCutoff=函数(数组,数字){ 对于(变量i=0;变量i编号){ array.pop(); array.push(数字); 返回数组; }else if(ar

我试图写一个函数,它接受一个数组和一个最大截止数。数字是字符串可以包含的最大数字,此数字替换大于该数字的所有数组元素。例如,如果数组为[1,2,3,4,5,6],截止数为4,则输出应为[1,2,3,4,4,4]

这是我到目前为止得到的,但我只得到[1,2,3,4,5]作为输出,而不是[1,2,3,3,3]。有什么建议吗

var maxCutoff=函数(数组,数字){
对于(变量i=0;变量i编号){
array.pop();
array.push(数字);
返回数组;

}else if(array.indexOf(i)您可以使用
array\map
使用一个简单的单行程序来处理它

const maxCutoff=(arr,num)=>arr.map(v=>v>num?num:v);

log(maxCutoff([1,2,3,4,5],3));
您可以使用
Array#map使用一个简单的单行程序来处理它

const maxCutoff=(arr,num)=>arr.map(v=>v>num?num:v);

log(maxCutoff([1,2,3,4,5],3));
解决方案非常简单,只需将元素更改为max。 假设你是JS的初学者,下面的解决方案对你来说应该更容易理解。另一个使用map的答案可能会被认为是神奇的,这应该更有效,但这取决于浏览器处理map功能的能力,在大多数情况下,浏览器都能很好地实现它

var maxCutoff=函数(数组,数字){
对于(变量i=0;数量)
数组[i]=个数;
}
返回数组
}

log(maxCutoff([1,2,3,4,5],3));
解决方案非常简单,只需将元素更改为max。 假设你是JS的初学者,下面的解决方案对你来说应该更容易理解。另一个使用map的答案可能会被认为是神奇的,这应该更有效,但这取决于浏览器处理map功能的能力,在大多数情况下,浏览器都能很好地实现它

var maxCutoff=函数(数组,数字){
对于(变量i=0;数量)
数组[i]=个数;
}
返回数组
}

log(maxCutoff([1,2,3,4,5],3));
您可以使用三元值作为映射结果

constmaxcutoff=(数组,值)=>array.map(a=>a>value?值:a);

log(maxCutoff([1,2,3,4,5,4]);
您可以使用三元组作为映射结果

constmaxcutoff=(数组,值)=>array.map(a=>a>value?值:a);

console.log(maxCutoff([1,2,3,4,5,4]);
Math.min(a,value)
Math.min(a,value)
?谢谢!!这很有意义,是的,我刚刚开始学习JS谢谢!!这很有意义,是的,我刚刚开始学习JS