json 使用js动态阵列形成[复制]

mfpqipee  于 2023-10-21  发布在  其他
关注(0)|答案(1)|浏览(79)

此问题已在此处有答案

How can I access and process nested objects, arrays, or JSON?(31个回答)
昨天关门了。
这篇文章是昨天编辑并提交审查的。
我有如下的数据。我想格式化数据。有人能帮忙吗?

const fields = [
  {
    name: "country",
    values: {
      data: ['China', 'US', 'UK', 'India', 'England','....'],
    },
  },
  {
    name: "speed",
    values: {
      data: [1, 2, 3, 4, 5,.....],
    },
  },
  {
    name: "distance",
    values: {
      data: [6, 7, 8, 9, 10,.....],
    },
  },
];

const color=  ['red','green','yellow', 'blue','black',....];

这里的颜色还需要根据一定的条件追加动态数组

例如:“英国”应为“黑色”,“印度”应为“绿色”, 其他颜色可以混洗*

如何将上面的数组转换为下面的输出
预期输出

const dynamic_data = [
 {
   name: 'China',
   data : [1,6],
   color : 'red'
 },
 {
   name: 'US',
   data : [2,7],
   color : 'yellow'
 },
{
   name: 'UK',
   data : [3,8],
   color : 'black'
 },
{
   name: 'India',
   data : [4,9],
   color : 'green'
 },
{
   name: 'England',
   data : [5,10],
   color : 'blue'
 },

]
nfzehxib

nfzehxib1#

// Extracting bus names
const buses = fields.find(item => item.name === "bus").values.data;

// Extracting speed values
const speeds = fields.find(item => item.name === "speed").values.data;

// Extracting distance values
const distances = fields.find(item => item.name === "distance").values.data;

// Map the bus names to their corresponding speed and distance values
const result = {};
buses.forEach((bus, index) => {
    result[bus] = [speeds[index], distances[index]];
});

// Creating required results over here
const China = result['China'];
const US = result['US'];
const UK = result['UK'];
const India = result['India'];
const England = result['England'];

上面的代码可以帮助你做同样的事情。
这可以很容易地解决与Arrays以及.map.forEach的Array函数的基本理解。

相关问题