我做模数错了吗?因为在Java -13 % 64中应该评估,-13但我得到51.
任何人都知道为什么javascript Number.toString函数不能正确表示负数?
//If you try
(-3).toString(2); //shows "-11"
// but if you fake a bit shift operation it works as expected
(-3 >>> 0).toString(2); // print "11111111111111111111111111111101"
Run Code Online (Sandbox Code Playgroud)
我真的好奇为什么它不能正常工作或者它以这种方式工作的原因是什么?我搜索过它,但没有发现任何有用的东西.
在关于运算符的CoffeeScript文档中,它表示您可以使用%%真正的数学模,但没有解释为什么这与%JavaScript中的"模运算符"不同.
更进一步说它a %% b在CoffeeScript中相当于(a % b + b) % b用JavaScript 编写,但是对于大多数简单的情况,这似乎产生了相同的结果.
我在这里和那里看到一些关于修改JavaScript对象原型的不满意的评论?我个人不知道这可能是一个什么问题.例如,扩展Array对象以具有map和include方法或创建更强大的Date方法?
我试图通过递增或递减1迭代jQuery对象数组.因此,对于递减部分,我使用此代码:
var splitted_id = currentDiv.attr('id').split('_');
var indexOfDivToGo = parseInt(splitted_id[1]);
indexOfDivToGo = (indexOfDivToGo-1) % allDivs.length;
var divToGo = allDivs[indexOfDivToGo];
Run Code Online (Sandbox Code Playgroud)
所以我有4个带id的元素:
div_0
div_1
div_2
div_3
Run Code Online (Sandbox Code Playgroud)
我期待它迭代为3 - 2 - 1 - 0 - 3 - 2 - 等等.
但它在零之后返回-1,因此它被卡住了.所以它迭代为:
3 - 2 - 1 - 0 - -1 - 卡住了
我知道我可以通过更改代码的第二行来修复它
indexOfDivToGo = (indexOfDivToGo-1 + allDivs.length) % allDivs.length;
Run Code Online (Sandbox Code Playgroud)
但我想知道为什么JavaScript不计算负模型.也许这对另一位编码人员也有帮助.
我需要一个Date.prototype.addBusDays函数,它将整数作为要添加到日期的工作日数.
但是,有两个注意事项:1.周末,2.假期(我想这将是一个预设数组来比较.如果开始日期和结束日期包含3个假期,那么你将结束日期推出3)
我在网上遇到过一些剧本,我可以想到的一个难题是,让我们说你先解决所有周末,然后你做假期,如果你+1天(由于假期),你的结束日期被推入再过一个周末... <
有任何想法吗?谢谢!
编辑:
这是我正在开发的调度工具的一部分,这意味着日期将与链接在一起的任务相关联.向任务添加1天将触发重新计算与其关联的所有内容,可能是数据库中的所有日期.
在JavaScript中,%运算符似乎表现得非常奇怪.我尝试了以下方法:
>>> (0 - 11) % 12
-11
Run Code Online (Sandbox Code Playgroud)
为什么它返回-11而不是1(如在Python中)?
我确信我正在做或期待出错,但文档并没有告诉我什么.
更新:07/13
我找到了一种更好的方法来使用名为 的 JS 属性来计算无限滚动,cloneNode并使用它来添加和附加克隆幻灯片以创建无限效果。
我还学习了一种更有效的方法来编写大量此类代码,并且能够防止由于 而发生的事件冒泡transitionend,因此问题已得到解决。
因此,仍然存在两个问题:
我仍然无法将这些点映射到幻灯片上。克隆似乎抛弃了幻灯片阵列,并尝试使用设置点data-对我来说不起作用。
我使用变换来移动幻灯片容器以创建幻灯片,但是如果我缩放窗口,幻灯片容器溢出就会变得可见。查看www.ramtrucks.com,我注意到在重新调整窗口大小时,幻灯片上的变换和宽度属性正在动态变化。我研究了 JS 的调整大小事件,但它们似乎都不与我的代码配合,我认为这是因为我使用的是 Flexbox。所以不知何故我需要同时调整大小和更改弹性属性(我认为?)。
这就是我所在的地方:
// ----- slideshow declarations ----- //
const slideShowContainer = document.querySelector('.slideShow');
const slidesContainer = document.querySelector('.slidesContainer');
const rightBtn = document.querySelector('#slideRight');
const leftBtn = document.querySelector('#slideLeft');
const slideShowInterval = 10000;
let slides = document.querySelectorAll('.slideCard');
let index = 1;
let currentSlide;
let dots;
const firstClone = slides[0].cloneNode(true);
const lastClone = slides[slides.length - 1].cloneNode(true);
firstClone.id = 'firstClone'
lastClone.id = 'lastClone'
slidesContainer.append(firstClone);
slidesContainer.prepend(lastClone);
const slideWidth …Run Code Online (Sandbox Code Playgroud)所以我有一些我想循环的数据:
const data = {
names: [
{
name: "Jordan"
// additional data
},
{
name: "Holly"
// additional data
},
{
name: "Sean"
// additional data
}
]
};
Run Code Online (Sandbox Code Playgroud)
使用useState钩子,我从索引 0 开始我的数据:
const [index, setIndex] = useState(data.names[0]);
Run Code Online (Sandbox Code Playgroud)
如何使用状态循环遍历数组中的对象?我创建了一个调用 的按钮,handleClick我如何通过数组 +1?
function App() {
const [index, setIndex] = useState(data.names[0]);
function handleClick() {
setIndex(); // Help!
}
return (
<div className="App">
<h1>{index.name}</h1>
<button onClick={handleClick}>Change name</button>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)