字符串数组坐标转换数字坐标函数

用于地图字符串经纬度转换成数字经纬度,可实现一维数组,二维数组,三维数组中的值全部转化为数值

1,简洁版

// 一维数组,二维数组,三维数组中的值全部转化为数值
  function createStringToNumber(coordinates = []) {
        if (!Array.isArray(coordinates) || coordinates.length === 0) return [];
        return coordinates.map((v) => Array.isArray(v) ? createStringToNumber(v) : Number(v));
    }

2,增加非空和非数字判断

 // 一维数组,二维数组,三维数组中的值全部转化为数值
   function createStringToNumber(coordinates = []) {
        if (!Array.isArray(coordinates) || coordinates.length === 0) return [];
        if (coordinates.length === 2 && !Array.isArray(coordinates[0]) && !Array.isArray(coordinates[1])) {
            const [longitude, latitude] = coordinates;
            if (!longitude || !latitude || isNaN(Number(longitude)) || isNaN(Number(latitude))) return [];
            return [Number(longitude), Number(latitude)];
        }
        return coordinates.map((v) => createStringToNumber(v));
    }

3,示例

const array = [
	[
		"115.88805777594398",
		"32.9195101149546"
	],
	[
		"115.89987902188462",
		"32.876282584675735"
	],
	[
		"115.85969165953715",
		"32.90455185075761"
	]
]
const lnglat =	createStringToNumber(array)

你可能感兴趣的:(高德,常用方法,坐标系互换,javascript,开发语言,ecmascript)