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

标签 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 = 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/

相关文章:

javascript - 脚高(厘米)与鞋码欧盟之间的函数

javascript - 如何调用在另一个函数中声明的子函数

javascript - 在同一图表中堆叠列而不是行

java - 在字节数组中存储特定字节数的整数 - JAVA

c++ - 将类型定义的数组分配给另一个数组 (c++)

javascript - 如何按这些数组的两个元素对数组进行排序?

python - 将整数划分为集合的元素

javascript - 使用按钮显示/隐藏 DIV 控件

Javascript - CTRL+Alt+E 按键检测在 Firefox 48 及更高版本上不起作用

Javascript:重定向到不同的子域