Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将js数组分块并在分块上应用数学函数?_Javascript_Arrays - Fatal编程技术网

Javascript 如何将js数组分块并在分块上应用数学函数?

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]

将数组拆分为小块,然后在小数组中应用数学函数的最快方法是什么? 数学函数可以很简单,比如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] => 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控制台日志(结果)将数组拆分为块已被多次询问和回答:,