我一直在 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/