Closed. This question needs to be more focused。它当前不接受答案。
                        
                    
                
            
        
            
        
                
                    
                
            
                
                    想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                
                    2年前关闭。
            
        

    

我有以下数组

["M", "A", "M", "I", "M", "P"]


这些代表了两个人对三个不同问题的回答。我希望能够对索引[0,3],[1,4]和[2,5]进行分组。

在这六个答案可能是三个人对两个不同问题的回答的情况下。在这种情况下,我希望能够通过索引[0,2,4]和[1,3,5]对它们进行分组。

我在该项目中使用Underscore,因此可以使用香草JS或Underscore解决方案!

最佳答案

您可以使用Array.from()来构建数组,并且内部需要两次迭代的索引,因此可以使用i + (n * j)



var arr = ["M", "A", "M", "I", "M", "P"]

function group(arr, n) {
  var part = Math.ceil(arr.length / n);
  return Array.from(Array(n), function(e, i) {
    return Array.from(Array(part), function(a, j) {
      return arr[i + (n * j)]
    })
  })
}

console.log(group(arr, 3))
console.log(group(arr, 2))

关于javascript - 按偏移量对数组进行分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46651832/

10-11 14:10