# 如何分隔数组并将其放入括号中

2023-03-18 16:53:54

arrGeo =

[

[-4.66478, 58.42441, 5127.4,-4.65982, 58.42082, 5074.7],

[-3.94815, 57.71632, 5000,-3.94812, 57.71576, 4374.1,-3.94216, 57.71541, 4283,-3.93717,

57.71583, 5001],

[-3.93224, 57.71476, 4048,-3.93261, 57.71456, 3800.4]

]

positions =

[

{

"type": "Feature",

"geometry": {

"type": "GeometryCollection",

"geometries": [

{

"type": "Polygon",

"coordinates": [

[

[-4.66478, 58.42441, 5127.4],

[-4.65982, 58.42082, 5074.7],

]

]

},

]

},

"id": "kml_1"

},

{

"type": "Feature",

"geometry": {

"type": "GeometryCollection",

"geometries": [

{

"type": "Polygon",

"coordinates": [

[

[-3.94815, 57.71632, 5000],

[-3.94812, 57.71576, 4374.1],

]

]

},

{

"type": "Polygon",

"coordinates": [

[

[-3.94216, 57.71541, 4283],

[-3.93717, 57.71583, 5001],

]

]

},

]

},

"id": "kml_2"

},

## 4 回答

MMTTMM

TA贡献1649条经验 获得超4个赞

let final = [];

for (var i = 0, len = positions.length; i < len; i++) {

let a = [];

for (var j = 0, jlen = positions[i]["geometry"]["geometries"].length; j < jlen; j++) {

for (var k = 0, klen = positions[i]["geometry"]["geometries"][j]["coordinates"].length; k < klen; k++) {

for (l = 0, llen = positions[i]["geometry"]["geometries"][j]["coordinates"][k].length; l < llen; l++) {

a = a.concat(positions[i]["geometry"]["geometries"][j]["coordinates"][k][l]);

}

}

}

final.push(a);

}

console.log(final);

SMILET

TA贡献1552条经验 获得超4个赞

let positions = [

{

type: "Feature",

geometry: {

type: "GeometryCollection",

geometries: [

{

type: "Polygon",

coordinates: [

[

[-4.66478, 58.42441, 5127.4],

[-4.65982, 58.42082, 5074.7],

],

],

},

],

},

id: "kml_1",

},

{

type: "Feature",

geometry: {

type: "GeometryCollection",

geometries: [

{

type: "Polygon",

coordinates: [

[

[-3.94815, 57.71632, 5000],

[-3.94812, 57.71576, 4374.1],

],

],

},

{

type: "Polygon",

coordinates: [

[

[-3.94216, 57.71541, 4283],

[-3.93717, 57.71583, 5001],

],

],

},

],

},

id: "kml_2",

},

{

type: "Feature",

geometry: {

type: "GeometryCollection",

geometries: [

{

type: "Polygon",

coordinates: [

[

[-3.93224, 57.71476, 4048],

[-3.93261, 57.71456, 3800.4],

],

],

},

],

},

id: "kml_3",

},

];

let newPolygons = []

const flatPositions = (arr)=>{

arr.forEach((pos)=>{

let p = []

pos?.geometry?.geometries.forEach((geometry)=>{

geometry?.coordinates.forEach(coord=>{

coord.forEach(coo=>{

p = p.concat(coo)

})

})

})

newPolygons.push(p)

})

}

flatPositions(positions)

console.log(newPolygons)

TA贡献1566条经验 获得超7个赞

const arrGeo = positions.reduce((a,{geometry})=>

{

let item = []

for (let geo of geometry.geometries)

{

let p = geo.coordinates.reduce((t,c)=>

{

t.push(...c.flat())

return t

},[])

item.push(...p)

}

a.push(item)

return a

},[])

const positions =

[ { type: 'Feature'

, geometry:

{ type: 'GeometryCollection'

, geometries:

[ { type: 'Polygon'

, coordinates:

[ [ [ -4.66478, 58.42441, 5127.4]

, [ -4.65982, 58.42082, 5074.7]

] ] } ] }

, id: 'kml_1'

}

, { type: 'Feature'

, geometry:

{ type: 'GeometryCollection'

, geometries:

[ { type: 'Polygon'

, coordinates:

[ [ [ -3.94815, 57.71632, 5000   ]

, [ -3.94812, 57.71576, 4374.1 ]

] ] }

, { type: 'Polygon'

, coordinates:

[ [ [ -3.94216, 57.71541, 4283]

, [ -3.93717, 57.71583, 5001]

] ] } ] }

, id: 'kml_2'

}

, { type: 'Feature'

, geometry:

{ type: 'GeometryCollection'

, geometries:

[ { type: 'Polygon'

, coordinates:

[ [ [ -3.93224, 57.71476, 4048]

, [ -3.93261, 57.71456, 3800.4]

] ] } ] }

, id: 'kml_3'

} ]

const arrGeo = positions.reduce((a,{geometry})=>

{

let item = []

for( let geo of geometry.geometries )

{

let p = geo.coordinates.reduce((t,c)=>

{

t.push(...c.flat())

return t

},[])

item.push(...p)

}

a.push(item)

return a

},[])

arrGeo.forEach(el=> console.log(JSON.stringify(el)))

.as-console-wrapper { max-height: 100% !important; top: 0; }

TA贡献1600条经验 获得超4个赞

positions =

[

{

"type": "Feature",

"geometry": {

"type": "GeometryCollection",

"geometries": [

{

"type": "Polygon",

"coordinates": [

[

[-4.66478, 58.42441, 5127.4],

[-4.65982, 58.42082, 5074.7],

]

]

},

]

},

"id": "kml_1"

},

{

"type": "Feature",

"geometry": {

"type": "GeometryCollection",

"geometries": [

{

"type": "Polygon",

"coordinates": [

[

[-3.94815, 57.71632, 5000],

[-3.94812, 57.71576, 4374.1],

]

]

},

{

"type": "Polygon",

"coordinates": [

[

[-3.94216, 57.71541, 4283],

[-3.93717, 57.71583, 5001],

]

]

},

]

},

"id": "kml_2"

},

{

"type": "Feature",

"geometry": {

"type": "GeometryCollection",

"geometries": [

{

"type": "Polygon",

"coordinates": [

[

[-3.93224, 57.71476, 4048],

[-3.93261, 57.71456, 3800.4],

]

]

},

]

},

"id": "kml_3"

},

];

var arrGeo = [];

var res = [];

for (var i = 0; i < positions.length; i++) {

var x = positions[i].geometry.geometries;

var f = [];

for (var ii = 0; ii < x.length; ii++) {

var z = x[ii].coordinates[0];

var t = z.flat();

f.push(t)

}

res.push(f);

for (let ii = 0; ii < res.length; ii++) {

res[ii].flat();

}

}

for (var i = 0; i < res.length; i++) {

arrGeo.push(res[i].flat());

}

console.log(arrGeo);

• 4 回答
• 0 关注
• 11 浏览

0/150