【问题标题】:Finding the values in an array that are between 2 specified values [duplicate]查找数组中介于 2 个指定值之间的值 [重复]
【发布时间】:2021-05-19 22:04:27
【问题描述】:

我有一个浮点数组和 2 个输入变量:

var test_array = [0.1, 2.1, 0.7, 5.4, 3.2, 1.6];
var low = 0.7;
var high = 3.2;

基本上,我想获得一个新数组,其中包含 test_array 中大于或等于我的低值且小于或等于我的高值的所有值。我宁愿避免这样的事情:

var test_array = [0.1, 2.1, 0.7, 5.4, 3.2, 1.6];
var low = 0.7;
var high = 3.2;
var new_array = [];

for (let i=0; i<test_array.length; i++) {
    if (test_array[i] >= low && test_array[i] <= high) {
        new_array.push(test_array[i]);
    }
}
console.log(new_array.sort());

有没有比for loop 更有效的方法?

【问题讨论】:

    标签: javascript arrays parsing


    【解决方案1】:

    您可以使用filter 来实现结果。

    var test_array = [0.1, 2.1, 0.7, 5.4, 3.2, 1.6];
    var low = 0.7;
    var high = 3.2;
    var new_array = [];
    
    new_array = test_array.filter(e => e >= low && e <= high);
    console.log(new_array.sort());

    【讨论】:

    • 两个答案都很好。我仍在尝试处理在数组中使用过滤器。排序奖励积分 ;-)
    【解决方案2】:

    var test_array = [0.1, 2.1, 0.7, 5.4, 3.2, 1.6];
    var low = 0.7;
    var high = 3.2;
    
    let answers = test_array.filter(n => {
      return n >= low && n <= high
    });
    console.log(answers);

    【讨论】:

      猜你喜欢
      • 2019-04-18
      • 1970-01-01
      • 2012-01-12
      • 1970-01-01
      • 2019-09-30
      • 1970-01-01
      • 1970-01-01
      • 2022-11-29
      • 2018-06-03
      相关资源
      最近更新 更多