我有一个我似乎无法解决的问题,也许你能帮上忙。
我有一个数组。例如。 ['@dog','@cat','@mouse']
我想遍历该数组中的每个值并将其连接到同一数组中的所有其他值(通过构建数据库查询)。
但是,因为我将在数据库中写入它,所以我需要避免重复。
因此,如果 @cat
已经连接到 @mouse
,那么当我的 for
语句到达 @mouse 时
我希望它跳过添加连接到 @cat
(还有 @dog
因为它已经在第一次迭代时连接到 @mouse
.
我一直在尝试使用 for
循环,例如
for (var i=0; i<animals.length; i++) {
for (var j = 0; j<animals.length; j++) {
if (animals[i] !== animals[j]) {
// adds connection between animals[i] and animals[j]
}
}
}
但是检查已经存在的对的最好方法是什么? (哪个元素是第一个,哪个是第二个无关紧要 - 例如,我的图形不是单向的)。
如果数组中的元素超过 4 个,这尤其会成为一个问题......
感谢您的帮助!
最佳答案
for (var i=0; i<animals.length; i++) {
for (var j = 0; j<i; j++) {
if (animals[i] !== animals[j]) {
// adds connection between animals[i] and animals[j]
}
}
}
这样,数组的每个元素只与数组中它之前的元素进行比较。我认为这更接近你想要的。
关于javascript - 检查数组中的元素是否已在 Javascript 中连接成对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27510029/