如何将一个 JavaScript 数组减少一半
How to reduce a javascript array into half?
我有一个包含 365 个对象(日期和值)的数组,我想将其减少一半以加快绘图速度。必须进行缩减,以便我得到数组中的所有其他点。因此,如果第一个元素用于 1 月 1 日,则第二个元素将用于 1 月 3 日而不是 1 月 2 日。我可以遍历数组,如果数字是奇数,我可以将其添加到新数组中,反之亦然。但是有没有更好/更快的方法来实现这一目标?我听说交叉过滤器.js是为这样的事情而设计的,但无法弄清楚如何在这种情况下使用它。有什么建议吗?
reduce或filter将适用于此。
array.reduce(function(memo, item, index) {
index % 2 && memo.push(item);
return memo;
}, [])
array.filter(function(item, index) { return index % 2; })
您要查找的是Array.filter
. filter
可用于从数组中过滤掉所需的值,但它将导致长度小于或等于原始数组的数组。
下面的代码返回数组中的所有奇数元素:
var array = [1,2,3,4,5,6,7,8,9,10]
array.filter(
function (d,indx) {
return indx%2 != 1
}
)
可以使用数组的过滤函数
var numbers = [1, 2, 3, 4, 5];
var odds = numbers.filter(function(index, item) {
return index % 2 == 1;
});
相关文章:
- Javascript:一个二维数组的字符串
- Javascript:一个变量包含值,但Firebug说它是空的
- 使用 JavaScript 一个接一个地播放几个音频
- Javascript 一个请求多个 JS 文件
- JavaScript:一个又一个循环不执行
- 动态加载头标签中的Javascript一个接一个完全加载后不追加,跨域
- Javascript:一个项目数组的sum-all-found.data()
- Javascript:一个带键的数组怎么可能呢
- JavaScript:一个变量可以有多个值吗
- Javascript-一个变量能在多大程度上保持其价值
- Javascript一个站点上有两个计算器
- JavaScript:一个接一个执行多个REST调用的正确方法
- JavaScript.一个奇怪的分配句子
- Javascript -一个函数中的多个任务无法工作
- javax.script传递给javascript一个Java方法作为回调
- Javascript -一个未知的JSON对象返回给我,我如何看待它
- JavaScript:一个字节应该是8位
- 当用户“看到”时激活JavaScript.一个元素
- Javascript一个输入字段连接到几个函数
- Javascript:一个IIFE函数以及供以后使用的函数定义