【问题标题】:How to Convert an Array into Object of key value pair如何将数组转换为键值对对象
【发布时间】:2019-12-02 04:23:05
【问题描述】:

我需要将数组转换为具有键值的对象。例如

var Array = [17.3850, 78.4867]

我需要用这种方式转换成Object

var Object = {"lat":17.3850, "lng":78.4867}

【问题讨论】:

标签: javascript


【解决方案1】:

使用 Array.prototype.map() 对数组进行迭代,创建 Object 数组,最后使用 Object.assign() 将其转换为对象。

var key = ['lat', 'lng'];
var array = [17.3850, 78.4867]


var obj = Object.assign({}, ...key.map((e, i) => ({[e]: array[i]})))
console.log(obj)

【讨论】:

    【解决方案2】:

    您可以使用键/值对数组映射一个数组,并使用Object.fromEntries 创建一个对象。

    var array = [17.3850, 78.4867],
        keys = ['lat', 'lng'],
        object = Object.fromEntries(array.map((v, i) => [keys[i], v]));
    
    console.log(object);

    【讨论】:

      【解决方案3】:

      您可以在 JavaScript 中使用 constructor

      class Location {
        constructor(lat, lng) {
         this.lat = lat,
         this.lng = lng
        }
      }
      var myArray = [17.3850, 78.4867];
      var myLocation = new Location(myArray[0], myArray[1]);
      myLocation.lat;
      myLocation.lng;
      

      您可以使用循环代替myArray[0]myArray[1] 使其动态化。

      【讨论】:

        猜你喜欢
        • 2019-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-14
        • 2017-09-23
        • 2018-05-10
        • 2017-08-25
        相关资源
        最近更新 更多