javascript - 如何过滤大于 x 的数组值

标签 javascript html arrays

我一直在 Internet 上四处寻找,但我找不到任何介绍如何解决此问题的帖子,尽管我确信这是一个非常简单的解决方法。

基本上我有一个包含数值的数组,我想过滤掉任何大于 10 的数字并将它们添加到另一个数组中。这是我到目前为止所拥有的,但我得到的是第一个数组中的所有数字。

<!DOCTYPE html>
<html>
<body>
  <p id="demo"></p>
  <button type="button" onclick="alert(output)">Click Me!</button>
  <script>
    var input = new Array(9,3,4.3,24,54,8,19,23,46,87,3.14);
    var output = new Array();
    var length = 1;
    for (var i = 0; i < input.length; i += length) {
      output.push(input.slice(i, i + length).join(" "));
    }
  </script>
</body>
</html>

最佳答案

function predicate(x) { return x > 10 }
var output = input.filter(predicate);
input = input.filter(function(x) { return !predicate(x) })

使用 ES6 箭头函数看起来更干净:

var predicate = (x) => x > 10;
var output = input.filter(predicate);
input = input.filter(x => !predicate(x));

关于javascript - 如何过滤大于 x 的数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33772718/

相关文章:

javascript - 如何使用 chessboard.js 分析模式撤消和重做国际象棋移动

html - 在内容可编辑的 div 中显示段落标记、空格和其他格式标记

JavaScript 匿名函数作用域变量

c# - 如何获取完全加载的 HTML 页面代码

arrays - 排序数组中的最低成本路径

java - Java中初始化arraylist的三维数组

javascript - Socketcan 注册监听器未被调用

javascript - 如何在 typescript 中从 ReactJs 中的 inputText 更改传递键值?

javascript - isChild(节点1,节点2)

c# - 数组中的所有对象都等于最后添加的对象c#