我需要将数组转换为具有键值的对象。例如
var Array = [17.3850, 78.4867]
我需要以这种方式转换为对象
var Object = {"lat":17.3850, "lng":78.4867}
答案 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]
。