+1
    
 Convert array to object key
**Input: **
    {id: 0, name: "A"},
    {id: 1, name: "B"},
    {id: 2, name: "C"},
    {id: 3, name: "D"},
    {id: 4, name: "E"},
    {id: 5, name: "F"},
    {id: 6, name: "G"},
    {id: 7, name: "H"},
] ```
**output:**
``` var object = {
    1: [
        {id: 0, name: "A"},
        {id: 1, name: "B"},
        {id: 2, name: "C"},
    ],
    2: [
         {id: 3, name: "D"},
        {id: 4, name: "E"},
        {id: 5, name: "F"},
    ],
    3: [
        {id: 6, name: "G"},
        {id: 7, name: "H"},
    ]
}```
Các bác cho em hỏi javascript làm như trên thì code thế nào ạ, em xin keyword với.
            Thêm một bình luận
         
3 CÂU TRẢ LỜI
        0
    
 keyword : chunk array.
Nếu bạn sử dụng thư viện như lodash sẽ có hàm hỗ trợ luôn là chunk(array, size_chunk) https://lodash.com/docs/4.17.15#chunk
Không thì đối với javascript thuần chắc phải viết một vòng lặp rồi slice các giá trị của mảng
function chunkArray(arr, size) {
  var arr = [];
  for(var i = 0; i < arr.length; i += size) {
    arr.push(arr.slice(i, i+size));
  }
  return arr;
}
console.log(chunkArray(["a", "b", "c", "d","e"], 2));
Cảm ơn bạn
        0
    
 Để chuyển Object thành Array thì có thể làm như này:
Object.keys(object).map(item => object[item])
Nhưng để kết quả ra như bạn thì phải tiếp tục xử lý mảng kia, cứ 3 index thì push vào 1 mảng mới
        0
    
 php thì gọi cái này là array_chunk
js thì không có hàm sẵn, bạn dùng loop rồi đẩy vào array tạm thôi
có thể xem code ở đây https://stackoverflow.com/questions/8495687/split-array-into-chunks
sau khi xong thì dùng tiếp cái này
Object.assign({}, ['a','b','c']); // {0:"a", 1:"b", 2:"c"}
hoặc cái này
{ ...['a', 'b', 'c'] }
 
  
  
  
  
 