我必须使用Gregory-Leibniz系列计算Pi的值:
pi = 4*((1/1 - 1/3)+(1/5 - 1/7)+(1/9 - 1/11)+ ...)
我想在JavaScript中编写一个函数,该函数将需要显示为参数的位数.但我不确定我的思维方式是否合适.
这是我到目前为止所得到的:
function pi(n) {
var pi = 0;
for (i=1; i <= n; i+2) {
pi = 4 * ((1/i) + (1/(i+2)))
}
return pi;
}
Run Code Online (Sandbox Code Playgroud)
如何编写pi计算,以便计算值直到n?
我必须在数组中找到第一个重复值,然后在变量 firstIndex 中返回它的索引。这必须使用 for 循环来完成,它应该在找到第一个重复项后停止。我知道这可能很简单,但我被卡住了。到目前为止,我有这个,但它似乎不起作用:
var numbers4 = [5, 2, 3, 4, 2, 6, 7, 1, 2, 3];
var firstIndex = "";
for (var a = 0; a < numbers4.length; a++) {
for (var b = a+1; b < numbers4.length; b++) {
if (numbers4[a] === numbers4[b])
firstIndex = numbers4.indexOf(numbers4[a]);
break;
}
}
console.log(firstIndex);
Run Code Online (Sandbox Code Playgroud)
控制台打印出 1 这很好,因为 2 首先是重复的,但是当我更改数组中的数字时,循环不起作用。你能建议这里可以改变什么吗?
提前致谢!
我想在两个列表之间移动项目。所有列表项中都有按钮,单击此按钮后,项目应移动到其他列表。我已经创建了 JavaScript 事件,但它只能以一种方式工作 - 因此该项目可以移动一次,例如从 list1 到 list2,但当我尝试再次单击该按钮时,它不起作用。您能看一下我的代码并建议我如何将我的事件也分配给新创建的项目(这些刚刚被移动的项目)吗?
document.addEventListener("DOMContentLoaded", function () {
var buttons = document.querySelectorAll(".moveBtn");
var list1 = document.getElementById("list1");
var list2 = document.getElementById("list2");
function moveItem(e) {
var newItem = document.createElement("li");
if (this.parentElement.parentElement.id === "list1") {
list2.appendChild(newItem);
} else {
list1.appendChild(newItem);
}
newItem.innerHTML = this.parentElement.innerHTML;
this.parentElement.parentNode.removeChild(this.parentElement);
}
for (var i = 0; i < buttons.length; i++) {
buttons[i].addEventListener("click", moveItem);
}
})
Run Code Online (Sandbox Code Playgroud)