将两个比较与一个公共变量合并在一起
Merging two comparisons with a common variable together
我有一个函数如下:
bullets.forEach(function (b) {
ships.forEach (function (s) {
if (b.x1 >= s.x1 && b.x1 <= s.x2 && b.y1 >= s.y1 && b.y2 <= s.y2) {
animationBucket = animationBucket.filter((i) => {
return (i != b && i != s);
}
);
我想合并那些使用相同变量的比较,如 i != b && i != s
。我希望它像 i is not equal to b and s
一样使用 i 一次。可能吗?如果是,那又如何?
编辑:我不会一直使用相同的不等式运算符。我想要一个适用于所有比较的代码,例如 i < j && i > k
、i == b && i != s
等等。为简单起见,我只想使变量(此处为 i
)使用两次(或更多次)仅使用一次或以更短的方式使用。
不完全是,但你可以这样做:
return ![b, s].includes(i);
JavaScript中还没有这样的东西。但是,也许这可能会在未来添加 :) 直到您可以使用一些辅助函数来完成您的任务。
我有一个函数如下:
bullets.forEach(function (b) {
ships.forEach (function (s) {
if (b.x1 >= s.x1 && b.x1 <= s.x2 && b.y1 >= s.y1 && b.y2 <= s.y2) {
animationBucket = animationBucket.filter((i) => {
return (i != b && i != s);
}
);
我想合并那些使用相同变量的比较,如 i != b && i != s
。我希望它像 i is not equal to b and s
一样使用 i 一次。可能吗?如果是,那又如何?
编辑:我不会一直使用相同的不等式运算符。我想要一个适用于所有比较的代码,例如 i < j && i > k
、i == b && i != s
等等。为简单起见,我只想使变量(此处为 i
)使用两次(或更多次)仅使用一次或以更短的方式使用。
不完全是,但你可以这样做:
return ![b, s].includes(i);
JavaScript中还没有这样的东西。但是,也许这可能会在未来添加 :) 直到您可以使用一些辅助函数来完成您的任务。