如何将数组转换为键值对的对象

时间:2019-07-24 05:17:55

标签: javascript

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

var Array = [17.3850, 78.4867]

我需要以这种方式转换为对象

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

3 个答案:

答案 0 :(得分:2)

使用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)

答案 1 :(得分:1)

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

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

console.log(object);

答案 2 :(得分:0)

您可以在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]

相关问题