【发布时间】:2020-12-11 20:33:51
【问题描述】:
这里是Js新手。
我有以下数组:
Array [
Array [
"Canadian",
"57",
],
Array [
"",
"Tire",
"64",
],
Array [
"",
"#",
"67",
],
Array [
"",
"168",
"68",
],
Array [
"",
"65",
"84",
],
Array [
"",
"Pinebush",
"84",
],
Array [
"",
"Road",
"86",
],
Array [
"",
",",
"87",
],
Array [
"",
"Cambridge",
"88",
],
Array [
"",
"ON",
"90",
],
Array [
"",
"Bruno",
"108",
],
Array [
"",
"R",
"109",
],
Array [
"",
",",
"109",
],
Array [
"",
"General",
"109",
],
Array [
"",
"Manager",
"110",
],
]
我想把它变成以下数组:
Array [
Array [
"Canadian Tire # 168",
"57 64 67 68",
],
Array [
"65 Pinebush Road , Cambridge ON",
"84 86 87 88 90",
],
Array [
"Bruno R , General Manager",
"108 109 109 109 110",
],
]
嵌套数组中的值从字符串变为数字、标点符号和空格。 但是数组中的最后一个值是每个单词位置的 y 坐标,即:
"Canadian", <---word
"57", <----its y-coordinate
"",<--- empty string
"Tire",<---another word
"64",<---another y-coordiante
目标是根据它们的 y 坐标对单词进行分组:
57 64 67 68 都在 11 以内,
84 86 87 88 90 都在 6 或之差以内
108 109 109 109 110 都在 2 以内。
如何在 vanilla js 中实现这一点?
非常感谢!
【问题讨论】:
-
这是一个错字:
Array [ "Canadian", "57", ]?你在这里有任何""作为第一个元素,就像在其他数组中一样。 -
我建议您先尝试自己解决它。即使你不太了解 JS,你也可以编写伪代码。
-
@Saschano 不,第一个没有任何空引号。
标签: javascript arrays sorting slice reduce