如何从这个 Javascript 数组中形成 This JSON?

How to form This JSON from this Javascript array of arrays?

我有这个JavaScript数组

   arr1= [ 
       ['a', 'b'],
       ['1', '2']
       ]
           

我需要形成这个 JSON 对象

[
    {
        "label":"a",
        "value":"1"
    },
    {
        "label":"b",
        "value":"2"
    },
]
  

我该怎么做?

使用Array#map:

const arr = [ ['a', 'b'], ['1', '2'] ];

const [labels, values] = arr;
const res = labels.map((label, index) => ({ label, value: values[index] }));

console.log(res);

看看这个...

const entries = new Map([
  ['foo', 'bar'],
  ['baz', 42]
]);

const obj = Object.fromEntries(entries);

console.log(obj);
// expected output: Object { foo: "bar", baz: 42 }

你的意思是这样的吗? 资料来源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/fromEntries

您可以使用包含所需对象的键的数组并减少和映射项目。

const
    data = [['a', 'b'], ['1', '2']],
    keys = ['label', 'id'],
    result = data.reduce((r, a, i) => a.map((v, j) => ({ ...r[j], [keys[i]]: v })), []);
    
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }