初学者问题:我尝试使用此代码创建一个随机数
int rand = (int) Math.random()*10;
Run Code Online (Sandbox Code Playgroud)
但是,在打印到屏幕时,我一直收到0作为答案
只有在插入括号后才这样
int rand = (int)(Math.random()*10);
Run Code Online (Sandbox Code Playgroud)
数字显示得当.任何人都可以解释我错过的逻辑原因吗?
尝试从Codepen上的Wikipedia API接收响应。答复应该是我正在尝试console.log的json。
但是在控制台中,我看到一个错误:
跨域请求被阻止:“相同源策略”不允许在https://en.wikipedia.org/w/api.php?action=opensearch&search=earth&format=json上读取远程资源。(原因:CORS标头“ Access-Control-Allow-Origin”缺失)。
过去几天,我已经阅读了很多有关CORS和Allow-Origin的文章,试图理解,但是由于某些原因,即使我认为我理解...我也无法实现:)
但是,最有趣的是-即使控制台显示这样的错误消息,如果我在开发人员工具“网络”标签中查看实际响应,也能看到json响应的全部荣耀!
有一个解释怎么可能呢?
Codepen链接在这里
var xhrObject = new XMLHttpRequest();
xhrObject.onreadystatechange = function() {
if (xhrObject.readyState === 4 && xhrObject.status === 200) {
console.log(xhrObject.responseText);
}
};
xhrObject.open(
"POST", "https://en.wikipedia.org/w/api.php?action=opensearch&search=earth&format=json", true
);
xhrObject.send();
Run Code Online (Sandbox Code Playgroud)
提前致谢
我试图将所有素数加起来一个数字.
首先,我删除了所有的平均值,然后将其余的推到了一个奇数阵列.
然后我将遍历数组并拼接除了其他数字但除了1和自身之外的所有数字,并用零替换它们.
一切似乎都没问题,但是,在我的第一个console.log中注意到最后一个元素是977(这是传递的数字).
一行后来我forEach数组并打印所有数字超过970但977不存在:/
关于这是怎么发生的任何想法?(我排除了伏都教..)
function sumPrimes(num) {
var arr = [2];
for (var i = 3; i <= num; i++) {
if (i % 2 !== 0) {
arr.push(i);
}
}
console.log(arr);
arr.forEach(function(x) {
if(x > 970){
console.log(x);
}
if (x > 3) {
for (var j = 3; j < x; j += 2) {
if (x % j == 0) {
arr.splice(arr.indexOf(x), 1, 0);
}
}
}
})
// console.log(arr);
var res = arr.reduce(function(acc, val) { …Run Code Online (Sandbox Code Playgroud)