Javascript 我需要这个阵列解决方案,有什么办法吗?

Javascript 我需要这个阵列解决方案,有什么办法吗?,javascript,arrays,reactjs,react-native,react-redux,Javascript,Arrays,Reactjs,React Native,React Redux,问题: let arr1 = [{ min: 10, max: 20 }, { min: 20, max: 40 }, { min: 20, max: 40 } ]; let jsonVal = { id: 12345, v1: 5, v2: 10, v3: 9 }

问题:

 let arr1 = [{
              min: 10, max: 20
            },
            {
              min: 20, max: 40
            },
            {
              min: 20, max: 40
            }
           ];

let jsonVal = { id: 12345, v1: 5, v2: 10, v3: 9 }
输出:

let output = [{
              min: 10, max: 20, v1: 5
            },
            {
              min: 20, max: 40, v2: 10
            },
            {
              min: 20, max: 40, v3: 9
            }
           ];
jsonVal可以在arr1的基础上增加。如果arr1的长度为4,则将有v1、v2、v3、v4。此外,没有要匹配的id字段。
如何获得此解决方案?

我能想到的是:

让arr1=[{
民:10,,
最高:20
},
{
民:20,,
最高:40
},
{
民:20,,
最高:40
}
];
设jsonVal={
v1:5,
v2:10,
v3:9
}
console.log(arr1.map)(函数(a,i){
返回{…a,[“v”+(i+1)]:jsonVal[“v”+(i+1)]}
}));试试这个

注意-此解决方案依赖于jsonVal具有与数组相同数量的键,反之亦然。两者的长度必须相同

let arr1 = [
  {
    min: 10,
    max: 20
  },
  {
    min: 20,
    max: 40
  },
  {
    min: 20,
    max: 40
  }
];

let jsonVal = { v1: 5, v2: 10, v3: 9 };
let jsonKeys = Object.keys(jsonVal);

const arr = arr1.map((value, idx) => {
  const currKey = jsonKeys[idx];
  const currVal = jsonVal[currKey];

  return {
    ...value,
    [currKey]: currVal
  };
});

console.log(arr);
让arr1=[{min:10,max:20},{min:20,max:40},{min:20,max:40}];
设jsonVal={
v1:5,
v2:10,
v3:9
};
const result=arr1.map((项目,i)=>{
const[key,val]=Object.entries(jsonVal)[i]
返回{
…项目,
[键]:val
};
})

控制台日志(结果)
您是否确保
jsonVal
的键始终是
v
+数字?是的,它将始终是相同的。您可以使用
Object.entries(jsonVal)
来获得键/值对的二维数组(例如,['v1',5],'v2',10],'v3',9]]),您可以使用
arr1.map(…)
以获得您想要的输出。@AmeyKhoje似乎您已经得到了一些答案,它们中的任何一个有效吗?欢迎来到堆栈溢出。请参阅,也请通过,以便您熟悉如何使用此平台。