我正在尝试编写一个接受数组和最大截止数的函数。该数字是字符串可以包含的最大数字,该数字将替换所有大于该数字的数组元素。例如,如果数组为 [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 = function(array, number) {
for (var i=0; i<array.length; i++) {
if (array.indexOf(i) > number) {
array.pop();
array.push(number);
return array;
} else if (array.indexOf(i) <= number) {
return array;
}
}
}
console.log(maxCutoff([1,2,3,4,5], 3));
最佳答案
您可以使用Array#map
通过简单的一行来处理它。
const maxCutoff = (arr, num) => arr.map(v => v > num ? num : v);
console.log(maxCutoff([1,2,3,4,5], 3));
关于javascript - 在 javascript 中用不同的数字替换数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45394199/