Javascript 如何将js数组分块并在分块上应用数学函数?
将数组拆分为小块,然后在小数组中应用数学函数的最快方法是什么? 数学函数可以很简单,比如mod 26块的总数 我的意思是,我有一个数组Javascript 如何将js数组分块并在分块上应用数学函数?,javascript,arrays,Javascript,Arrays,将数组拆分为小块,然后在小数组中应用数学函数的最快方法是什么? 数学函数可以很简单,比如mod 26块的总数 我的意思是,我有一个数组[1,2,3,4,5,6],我需要创建它的块,使每3个元素在一个块中,因此我将从主数组中得到: [1,2,3] [4,5,6] 应用总数为[1,2,3]6mod26和[4,5,6]15mod26。 因此,最终的数组将是[6,15]。 另外,如果剩余的元素小于所需的块大小,则忽略主数组的剩余元素,或者将其单独添加到数组中 简单的方法 [1,2,3,4,5,6,7]
[1,2,3,4,5,6]
,我需要创建它的块,使每3个元素在一个块中,因此我将从主数组中得到:
[1,2,3]
[4,5,6]
应用总数为[1,2,3]
6mod26和[4,5,6]
15mod26。
因此,最终的数组将是[6,15]
。
另外,如果剩余的元素小于所需的块大小,则忽略主数组的剩余元素,或者将其单独添加到数组中
简单的方法
[1,2,3,4,5,6,7] => chunk1[1,2,3] , chunk2[4,5,6] , chunk3[7]
result = [ (total([1,2,3]) mod 26 ) , (total([4,5,6]) mod 26 ) ]
我希望这是清楚的。对不起,我不知道如何比这个简单的方式更清楚: 1.将数组分块 2.获取每个块的总和 3.mod每个块的总和 4.从mod创建一个新数组 我伸手去拿,但我认为有更好的方法:
splitArrayIntoChunksOfLen(arr, len) {
let chunks = [], i = 0, n = arr.length;
while (i < n) {
chunks.push(arr.slice(i, i += len));
}
return chunks;
}
let add = this.splitArrayIntoChunksOfLen(this.stringsArrays, 5)
let newAdd = add.map(function (item) {
return item.reduce(function (acc, curr) {
acc += curr;
return acc - 92 * Math.floor(acc / 92);
}, 0)
});
splitArrayIntoChunksOfLen(arr,len){
设chunks=[],i=0,n=arr.length;
而(i
您可以按所需大小对数组进行切片,通过添加所有项并推送剩余值的结果来减少数组
var add=(a,b)=>a+b,
数组=[1,2,3,4,5,6],
尺寸=3,
结果=[],
i=0;
while(i 控制台日志(结果)代码>将数组拆分为块已被多次询问和回答:,