首页 > 解决方案 > 如何对数组的元素进行分组

问题描述

我有一个数组:

var arr = ['User1','123456','User2','456789','User3','546544'];

我怎样才能得到这样的对象数组:

var arr2 = [{name: 'User1', id: 123456},{name: 'User2', id: 456789}, {name: 'User3', id: 546544}];

我试过这个:

arr.forEach(function (item, i, arr) {
            arr2.push(
                {
                    name: arr[i],
                    id: arr[i + 2]
                }
            );
        });

标签: javascript

解决方案


简单来说,你需要做两件事:

  1. 检查长度是否均匀。
  2. 通过增加循环两次,按您的需要推动它。

var arr = ['User1', '123456', 'User2', '456789', 'User3', '546544'];
var arrObj = [];
if (arr.length % 2 === 0)
  for (var i = 0; i < arr.length; i += 2)
    arrObj.push({
      "name": arr[i],
      "id": parseInt(arr[i + 1], 10),
    });
console.log(arrObj);


推荐阅读