如何根据 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;
}
所以我有一个看起来有点像这样的数组:
["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;
}