javascript - 如何对数组的元素进行分组
问题描述
我有一个数组:
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]
}
);
});
解决方案
简单来说,你需要做两件事:
- 检查长度是否均匀。
- 通过增加循环两次,按您的需要推动它。
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);
推荐阅读
- php - 如何清除我的 csv 文件但使用 PHP cron 作业保留标题?
- oracle-apex - Oracle Apex 中应用程序级别的会话超时
- flutter - 当键盘出现时,AlertDialog 上的 Flutter RenderFlex 溢出错误
- swiftui - 图像保持其纵横比,但其框架没有
- javascript - 从静态方法中的构造函数访问数据
- java - 我收到一个错误,在 soundAdapter 类中,我不知道如何解决它
- android - Android应用程序安装后删除默认权限
- python-3.x - 将环境 conda 中的 shell 命令与蛇形工具中的 python 脚本混合
- c# - 不断接收 TcpClient
- javascript - 如何过滤元素然后设置条件