如何根据用户输入使用数组中对象的多个属性?
How to use multiple properties of an object in an array depending on user input?
const cities = [
{
id: 0,
city: "Buenos Aires",
country: "Argentina",
codeIATA: "AEP",
aeroName: "Aeroparque Internacional Jorge Newbery",
coordX: 15,
coordY: 36,
},
{
id: 1,
city: "El Calafate",
country: "Argentina",
codeIATA: "FTE",
aeroName: "Aeropuerto Internacional Comandante Armando Tola de El Calafate",
coordX: -49,
coordY: -63,
},
]
let origin = parseInt(prompt("ID Origen"));
let destination = parseInt(prompt("ID Destino"));
在一个数组中,我有多个像上面的对象。通过输入 0 或 1 或我将拥有的任何对象 ID,用户将 select 一个对象作为起点,另一个对象作为目的地。我猜我必须将数字与对象内的索引或 ID 匹配到 select 它。
一旦对象被 select 编辑为起点和终点,我想 select 每个点的 coordX 和 coordY 并计算每个点之间的距离(我已经有了那个的公式)。我知道如何计算,但我很难根据用户 selects.
获取坐标
您可以使用cities.find
(documentation)查找用户输入id
的城市对象:
const origin = 1;
const originCity = cities.find((city) => city.id === origin);
const cities = [
{
id: 0,
city: "Buenos Aires",
country: "Argentina",
codeIATA: "AEP",
aeroName: "Aeroparque Internacional Jorge Newbery",
coordX: 15,
coordY: 36,
},
{
id: 1,
city: "El Calafate",
country: "Argentina",
codeIATA: "FTE",
aeroName: "Aeropuerto Internacional Comandante Armando Tola de El Calafate",
coordX: -49,
coordY: -63,
},
]
let origin = parseInt(prompt("ID Origen"));
let destination = parseInt(prompt("ID Destino"));
在一个数组中,我有多个像上面的对象。通过输入 0 或 1 或我将拥有的任何对象 ID,用户将 select 一个对象作为起点,另一个对象作为目的地。我猜我必须将数字与对象内的索引或 ID 匹配到 select 它。
一旦对象被 select 编辑为起点和终点,我想 select 每个点的 coordX 和 coordY 并计算每个点之间的距离(我已经有了那个的公式)。我知道如何计算,但我很难根据用户 selects.
获取坐标您可以使用cities.find
(documentation)查找用户输入id
的城市对象:
const origin = 1;
const originCity = cities.find((city) => city.id === origin);