javascript - 如何将 3 个数组合并为一个具有相同索引的数组 - JavaScript
问题描述
我目前有 3 个数组,我想将它们组合在一起并将它们显示为一个对象。
1. dataArr = [ 0. 123323, 1. 8930, 2. "9,321", 3. 103001 ]
2. titleArr = [ 0. "New", 1. "Old, 2. "Confirmed", 3. "Not Available" ]
3. typeArr = [ 0. "Online", 1. "In-Store" 2. "Walk In", 3. "Appointment" ]
我希望所有这些都是一个数组,并且有一个具有相同索引的对象数组,例如。
newArr = [0. { data: 123323 , title: "New", type: "Online"} 1. {data ... } ... ]
我尝试使用一种映射方法,我得到了两个数组的结果,但是第三个数组typeArr
为每个索引而不是其各自的索引插入一个由 4 个对象组成的数组。
Console.log = [ 0. data: 123323, title: New, type: [ 0. "Online", 1. "In-Store, 2. "Walk In" 3. "Appointment" ] ]
这是我的代码:
const combineArr = dataArr.map((data, index) => ({
data,
title: titleArr[index]
}));
const newArr = combineArr .map((type, index) => ({
type,
data: typeArr[index]
}));
在这种情况下,我使用两个单独的映射函数来尝试创建一个新数组。我相信这是我感到困惑的地方。有没有办法在一个映射函数中处理所有 3 个数组?
解决方案
假设索引顺序相同,可以使用如下函数map
:
let dataArr = [ 123323, 8930, 9321, 103001 ],
titleArr = [ "New", "Old", "Confirmed", "Not Available" ],
typeArr = [ "Online", "In-Store", "Walk In", "Appointment" ],
result = dataArr.map((data, i) => ({data, title: titleArr[i], type: typeArr[i]}));
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
推荐阅读
- php - 当我提交表单时,我的收藏被删除了 - symfony 2.8
- parsing - 如何使用 FParsec 解析固定字符串
- java - 屏幕录像机应用程序在自定义 Rom 上引发错误
- ubuntu - WSL 中的 Julia 不打开 Jupyter 笔记本
- docker - Docker - 在 docker run 中分配 ipv6 地址
- android - DragLinearLayout 属性
- c# - 创建具有可变逻辑和可变变量计数的 C# 算法
- c++ - Visual Studio Code (C++) 中的编译和输出问题
- r - 如何转换 R(wilcox 测试)等函数的公式方程?
- python - 如何从 CSV 文件插入 sqlite 数据库?