【问题标题】:Convert array to JSON object using JS使用 JS 将数组转换为 JSON 对象
【发布时间】:2020-11-02 07:21:54
【问题描述】:

请帮助将数组转换为 JSON 对象

var array = [1, 2, 3, 4]; 
var arrayToString = JSON.stringify(Object.assign({}, array));
var stringToJsonObject = JSON.parse(arrayToString);
 
console.log(stringToJsonObject);

我试试这个并得到:

{0: 1, 1: 2, 2: 3, 3: 4}

预期结果

{place0: 1, place1: 2, place2: 3, place3: 4}

标签: javascript json


【解决方案1】:

您可以使用.reduce 执行此操作:

var array = [1, 2, 3, 4]; 

var res = array.reduce((acc,item,index) => {
  acc[`place${index}`] = item;
  return acc;
}, {});
 
console.log(res);

【讨论】:

    【解决方案2】:

    var array = [1, 2, 3, 4];
    const jsonObj = {}
    array.forEach((v,i) => jsonObj['place'+i] = v);
    console.log(jsonObj)

    【讨论】:

      【解决方案3】:

      您可以使用Object.entries() 将所有数组元素作为键和值的序列获取,然后使用map() 将键与place 连接起来,最后使用Object.fromEntries() 将该数组转换回对象。

      中间不需要使用 JSON。

      var array = [1, 2, 3, 4]; 
      var object = Object.fromEntries(Object.entries(array).map(([key, value]) => ['place' + key, value]));
      console.log(object);

      【讨论】:

      • 只是另一种方法。
      【解决方案4】:

      使用for of循环并累积到对象中

      var array = [1, 2, 3, 4];
      const result = {}
      for (let item of array) {
        result['place' + item] = item;
      }
      console.log(result)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-02-06
        • 2018-05-19
        • 2016-03-18
        • 2012-05-08
        • 2018-08-25
        • 2022-01-12
        • 2011-10-15
        相关资源
        最近更新 更多