我一直在寻找一种方法来将最大/最小函数添加到JavaScript的Array类中,这似乎是一个已解决的问题:JavaScript:min&max数组值?.但是,当我尝试使用它时,我开始从我的代码中获取错误.事实证明,这种方法不适用于循环.
for(i in myArray) { console.log(i) }prints out 1
2
3
max
min
我可以使用另一种方法吗?
我正在尝试使用for-in语法循环遍历数组.问题是,这些数字正在转换为字符串.
for(var element in [0]) {
document.write(typeof(element)); // outputs "string"
}
Run Code Online (Sandbox Code Playgroud)
这是标准行为吗?我可以想出一些解决它的方法,但我真的只是在寻找解释,以扩展我对JavaScript的理解.
我有这个bash"for in"循环,它在目录中查找pdf文件并提示它们(为示例简化)
#!/bin/bash
for pic in "$INPUT"/*.pdf
do
echo "found: ${pic}"
done
Run Code Online (Sandbox Code Playgroud)
当$ INPUT目录中有pdf文件时,此脚本运行良好,但是,当目录中没有pdf文件时,我得到:
发现:/home/.../input-folder/*.pdf
这是预期的行为吗?如何使用for循环来处理它?我需要使用ls还是找到?
我在"$ INPUT"周围尝试使用和不使用引号.文件名和目录名中没有空格.
非常感谢你的想法.
我还是学习循环的新手,所以我有点困惑.我有一个for...in循环循环json文件的对象.然后我让jQuery为每个对象创建一些html元素.我有一个问题,每次循环,它重复以前的对象和新的对象,所以输出变为:
-name
-name
-test
-name
-test
-someone
-name
-test
-someone
-something
Run Code Online (Sandbox Code Playgroud)
但我正在努力做到
-name
-test
-someone
-something
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我目前的代码是:
var html = ""
for (var name in urls) {
html += `<div class='card-panel white'><div class='container'><div class='row'><div class='input-field col s12'> ${name} <br> ${urls[name].url} </div></div></div></div>`
$("#main").append(html)
}
Run Code Online (Sandbox Code Playgroud) Just wondering if its acceptable to use a for in loop on a string. Not sure if there could be weird results or bad practice but my solution works at least in this example.
Coding practice question. Also, if anyone has a way to improve my solution I'm open to advice.
function firstNonRepeatingLetter(str) {
const lowerStr = str.toLowerCase();
for (let char in lowerStr) {
if (lowerStr.lastIndexOf(lowerStr[char]) === parseInt(char) &&
lowerStr.indexOf(lowerStr[char]) === parseInt(char)) {
return str[char];
}
}
return "";
} …Run Code Online (Sandbox Code Playgroud) 我有两个数据帧:
df1<- as.data.frame(matrix(1:15, ncol=5))
df2<- as.data.frame(matrix(30:44,ncol=5))
Run Code Online (Sandbox Code Playgroud)
通过使用我想要计算zscore的两个数据帧.功能是:
z = (X - u)/ O
Run Code Online (Sandbox Code Playgroud)
df1包含所有X值,df2数据帧的每一行包含用于计算均值和sd的值.我生成一个循环,为df1的第一列中的每个值计算z得分.但现在我的问题是:如何计算整个数据帧的z得分?
test <- list()
for (i in 1:nrow(df1) {
zscore<- (df1[i,1] - (apply(df2[i,],1,mean))) / (apply(df2[i,],1,sd))
test[[i]] <- matrix(zscore)
i <- 1+1
}
Run Code Online (Sandbox Code Playgroud)
谢谢你们!
每当我使用for ... in循环时,循环的索引变量似乎总是在变量范围内.
例如,如果我有一个使用此循环的方法的组件:
for(key in params){
writeOutput(key);
}
Run Code Online (Sandbox Code Playgroud)
变量'key'将放在变量范围内.如果我已经在组件中的任何地方声明了variables.key,那么当我将它用于... in循环时,该值将被覆盖.我真正需要的是这样的:
for(var key in params){
writeOutput(key);
}
Run Code Online (Sandbox Code Playgroud)
但是这会引发解析错误.
有没有办法将for ... in index放在与变量范围不同的范围内?
以下代码:
var obj = {uname:"OdO", age:"22"};
alert(obj.uname);
Run Code Online (Sandbox Code Playgroud)
结果是:
OdO
Run Code Online (Sandbox Code Playgroud)
现在,在for..in声明中使用相同的概念:
for (x in obj) {
document.write(obj.x+"<br>");
}
Run Code Online (Sandbox Code Playgroud)
我希望它打印以下内容:
OdO
22
Run Code Online (Sandbox Code Playgroud)
但它打印:
undefined
undefined
Run Code Online (Sandbox Code Playgroud)
要在元素中实现打印循环,它应该写成如下的数组元素:
for (x in obj) {
document.write(obj[x]+"<br>");
}
Run Code Online (Sandbox Code Playgroud)
那么,为什么第一个语法不起作用,但它是否在for..in语句之外?
我试图通过for循环迭代NSDictionary.但我希望它从这个集合的结尾开始迭代到它的开始.我该如何实现这种回归?
我正在研究Chrome的扩展程序,我只是想知道Javascript中"for..in"的用法.让我通过一个例子解释我发现的问题:
假设我有一个类型的volatile对象{prop1: "foo", prop2: "bar", ...}.我想用一些语法将这个对象保存在字符串中,例如"prop1=foo;prop2=bar;...".这是我使用的代码:
var fun = function(data) {
var str = "";
for (var i in data) {
str += i + "=" + data[i] + ";";
}
return str;
};
log(fun({x:1, y:2}));
Run Code Online (Sandbox Code Playgroud)
这fun将返回以下字符串:undefinedx=1;y=2;.
我真的不明白为什么它会遵循这种行为.我知道我可以使用JSON来"字符串化"这样的东西,但实际上我只是想了解它为什么会发生.
for-in-loop ×10
javascript ×6
for-loop ×3
arrays ×1
bash ×1
coldfusion ×1
dataframe ×1
foreach ×1
indexof ×1
ios ×1
jquery ×1
lastindexof ×1
loops ×1
objective-c ×1
r ×1
scope ×1
syntax ×1
undefined ×1