我在路的起点,所以忍受我.问题出现在标题中.我使用的代码如下:
var arr = [7, 29, 8, 33, 37, 4, -31, 39, 32, -12, 9];
var even = [];
for (var i = 0; i < arr.length; i++){
if(arr[i]%2 == 0){
even += arr[i];
}
}
console.log(even.length);
Run Code Online (Sandbox Code Playgroud)
代码应该从数组中获取偶数元素并将其移动到另一个元素.当代码运行时,变量"even"将元素保存为"8432"而不是[8,4,32],这将在结束时在控制台中给出错误的结果:"4"而不是"3" .我无法弄清楚为什么会这样.
我试图匹配字符串中的一些单词,但没有成功.
比方说,我有这个字符串:
"word , word , two words, word"
Run Code Online (Sandbox Code Playgroud)
我想要做的是匹配单词,但没有开始或结束的空间.但它应该接受单词之间的空格.匹配产生的数组应该是:
["word","word","two words","word"]
Run Code Online (Sandbox Code Playgroud)
有人可以帮助或给我一些见解,我将如何做到这一点?
谢谢
编辑:我尝试过并取得成功的是分两部分:
match(/[^(,)]+/g)
Run Code Online (Sandbox Code Playgroud)
并使用map从结果数组中删除所有空格:
map(value => value.trim());
Run Code Online (Sandbox Code Playgroud)
但是只想通过正则表达式来做它并且不知道如何去做.
有没有办法将值分配给对象的多个键而不重复对象名称?
例如:我们创建了这个对象:
var obj = {
"a": 0,
"b": 0,
"c": 0,
"d": 0
}
Run Code Online (Sandbox Code Playgroud)
我现在想要的是为已经创建的这个对象的一些或所有键赋值(你通常会这样做):
obj["a"] = yourValue;
obj["c"] = yourValue;
obj["d"] = yourValue;
Run Code Online (Sandbox Code Playgroud)
但不重复的对象名称如我上面那样.
有没有办法做这样的事情?
我在理解一个简单的概念时遇到了问题.代码下方:
var arr = [1, 3, 7, 9, 12, 5, 4, 6];
var randomArr = Math.floor(Math.random()*arr.length);
console.clear();
console.log(randomArr);
Run Code Online (Sandbox Code Playgroud)
我不明白这一点,为什么Math.floor(Math.random()*arr.length)每次返回一个随机数而Math.floor(Math.random())总是返回0?从我的理解,Math.floor(Math.random())将永远返回,0因为他生成了一个值0和1(1不包括在内),所以不应该Math.floor(Math.random()*arr.length)总是返回8我的情况?
这是我目前不理解的,在这件事上找不到任何东西.
谢谢.