You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从两个元素相同的城市字符串数组中随机选取两个不匹配的值

出发/到达城市随机不重复选取实现方案

需求说明:现有两个存储城市的字符串数组,分别为出发城市数组、到达城市数组,两个数组包含的城市内容完全一致。需要分别从两个数组中随机选取一个城市,保证选中的出发城市和到达城市不能相同。

核心实现逻辑

  • 第一步:从出发城市数组中随机取1个值作为选中的出发城市
  • 第二步:过滤到达城市数组,剔除已选中的出发城市,得到可用的到达城市候选列表
  • 第三步:从候选列表中随机取1个值作为到达城市,即可天然保证两个选中城市不会重复
    如果遇到两个数组只有1个城市的极端场景,可以提前增加长度判断做兼容处理。

代码示例(JavaScript 为例)

// 模拟两个内容一致的城市数组
const departCities = ['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff'];
const arrivalCities = ['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff'];

// 随机选取出发城市
const randomDepartIdx = Math.floor(Math.random() * departCities.length);
const selectedDepart = departCities[randomDepartIdx];

// 过滤得到排除出发城市的到达城市候选列表
const availableArrivalCities = arrivalCities.filter(city => city !== selectedDepart);

// 随机选取到达城市
const randomArrivalIdx = Math.floor(Math.random() * availableArrivalCities.length);
const selectedArrival = availableArrivalCities[randomArrivalIdx];

console.log(`选中的出发城市:${selectedDepart}`);
console.log(`选中的到达城市:${selectedArrival}`);

内容的提问来源于stack exchange,提问作者vinod reddy Chinthala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 23:24:03