如何根据 Javascript 数组中的特定元素连接数组元素?

How do i concatenate array elements based on af specific element in array in Javascript?

所以我有一个看起来有点像这样的数组:

["John", "Doe", "123456789", "Abbey", "Road", "201", "2000", "Copenhagen"]

名字, 先生姓名, phone 号, 道路的名字, 道路的第二个名字, 门牌号码, 邮政编码, 和城镇。

目标是我必须将整个地址(第一条道路名称、第二条道路名称和门牌号)放入一个数组元素中。

但与地址相关的元素数量各不相同。

可能是 Abbey Road 201、Melon 1 或 Melon Strawberry Lemon Apple 3。phone 号码和邮政编码将始终在同一地点

我想弄清楚的是,无论地址有多少个元素,如何连接地址元素。

有点像这样:

["John", "Doe", "123456789", "Abbey Road 201", "2000", "Copenhagen"]

例如,使用splice:

const arr = ["John", "Doe", "123456789", "Abbey", "Road", "201", "2000", "Copenhagen"];

const indexOfFirstRoadName = 3;
const indexOfPostalCode = 6;
const deleteCount = indexOfPostalCode - indexOfFirstRoadName;
const address = arr.slice(indexOfFirstRoadName, indexOfPostalCode).join(' ');

arr.splice(indexOfFirstRoadName, deleteCount, address);
console.log(arr);

为了动态获取邮政编码的索引,我想出了这个:

function getPostalIndex(array) {
let postal;for (i = 0; i < array.length; i++) {
    if (array[i] === "Danmark" || array[i] === "Sverige") {
        postal = i - 2;
    }
}
return postal;

}