Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript循环中创建和使用变量_Javascript_Node.js_Loops_For Loop_Redis - Fatal编程技术网

在javascript循环中创建和使用变量

在javascript循环中创建和使用变量,javascript,node.js,loops,for-loop,redis,Javascript,Node.js,Loops,For Loop,Redis,寻找一些javascript循环。我试图用为(coin in in coinnames){定义一组硬币名称,并在这个循环中使用“coin”作为一个变量。我似乎遇到了麻烦。我尝试了括号引用和其间的每种混合 var Cryptsy=require('Cryptsy'); redis=需要(“redis”); client=redis.createClient() var cryptsy=新密码('key','secret'); var bittrex=require('node.bittrex.a

寻找一些javascript循环。我试图用
为(coin in in coinnames){
定义一组硬币名称,并在这个循环中使用
“coin”
作为一个变量。我似乎遇到了麻烦。我尝试了括号引用和其间的每种混合

var Cryptsy=require('Cryptsy');
redis=需要(“redis”);
client=redis.createClient()
var cryptsy=新密码('key','secret');
var bittrex=require('node.bittrex.api');
bittrex.options({
“apikey”:“key”,
“apisecret”:“secret”,
"流":对,,
“详细”:正确,
“明文”:正确,
'baseUrl':'https://bittrex.com/api/v1.1'
});
var coinnames=['BTC','NEOS'];
用于(硬币名称中的硬币){
客户端.hget(“汇率”,“硬币”,函数(err7,价格){
console.dir(硬币+价格:+价格);
console.dir(err7)
bittrex.sendCustomRequest('https://bittrex.com/api/v1.1/account/getbalances?apikey=key¤cy=coin,函数(数据){
console.log(data.result[0].Balance);
setTimeout(函数(){
bittrex.sendCustomRequest('https://bittrex.com/api/v1.1/market/selllimit?apikey=key&market=BTC-硬币和数量=数据。结果[0]。余额和比率=价格',函数(数据){
控制台日志(数据);
},对);
}, 20000);
},对);
});

};
您似乎没有在任何地方声明变量
coin
。循环中的变量可以用
var
定义:

var coinnames = ['BTC', 'NEOS'];
for (var coin in coinnames) {
    // ... use coin variable ...
}
还请注意,不建议对数组使用
for..in
循环。这是因为它循环对象属性,而不是数组索引。有关详细信息,请参阅

更好的方法是:

var coinnames = ['BTC', 'NEOS'];
for (var i = 0; i < coinnames.length; i++) {
    var coin = coinnames[i];
    // ... use coin variable ...
}
var coinnames=['BTC','NEOS'];
对于(var i=0;i
client.hget()是否执行异步操作?我相信它执行异步操作,但我并不确定,我对javascript编码是新手,所以我尝试边学习边解决问题。
for(硬币名称中的硬币)
将给出
coin
0
1
的值。JavaScript不是PHP,而
for…in
循环遍历属性名,而不是属性值。好吧,在PHP中这样做是可能的?或者有没有其他方法可以在JavaScript中偶然做到这一点?