我在客户端有一个动态创建的数组。
value = [
[-88.17179185999998, 41.78264698400005],
[-88.17193080699997, 41.782605419000056]
]
我需要按照此顺序将其存储为对象格式,并添加新的"spatialReference": {"wkid": 4326 }
var params = [
{
"x": -88.17179185999998,
"y": 41.78264698400005,
"spatialReference": {"wkid": 4326 }
},
{
"x": -88.17193080699997,
"y": 41.782605419000056,
"spatialReference": {"wkid": 4326 }
}
];
你能告诉我怎么做吗?
答案 0 :(得分:2)
您只需使用.map()
:
const value = [
[-88.17179185999998, 41.78264698400005],
[-88.17193080699997, 41.782605419000056]
];
const objs = value.map(([x, y]) => ({ x, y, spatialReference: {wkid: 4326 } }));
console.log(objs);
.map()
只是遍历每个元素,并针对它运行一些函数,并使用它的结果来创建一个新数组。将数组中的元素从a转换为b非常容易。
答案 1 :(得分:2)
使用map
创建对象数组:
var value = [
[-88.17179185999998, 41.78264698400005],
[-88.17193080699997, 41.782605419000056]
]
var data = value.map(function(elem) {
return {
x: elem[0],
y: elem[1],
spatialReference: {
wkid: 4326
}
}
})
console.log(data)
或使用es6:
const value = [
[-88.17179185999998, 41.78264698400005],
[-88.17193080699997, 41.782605419000056]
]
let data = value.map(elem => ({
x: elem[0],
y: elem[1],
spatialReference: {
wkid: 4326
}
}))
console.log(data)