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

create and use variables in javascript loops

本文关键字:变量 创建 JavaScript 循环      更新时间:2023-09-26

寻找一些JavaScript循环。 我试图用for (coin in coinnames){定义一堆硬币名称,并将"coin"用作此循环中的变量。 而且我似乎遇到了麻烦。 我尝试了括号引用以及介于两者之间的各种组合。

var Cryptsy = require('cryptsy');
redis = require('redis');
client = redis.createClient()
var cryptsy = new Cryptsy('key', 'secret');
var bittrex = require('node.bittrex.api');
bittrex.options({
    'apikey': 'key',
    'apisecret': 'secret',
    'stream': true,
    'verbose': true,
    'cleartext': true,
    'baseUrl': 'https://bittrex.com/api/v1.1'
});
var coinnames = ['BTC', 'NEOS'];
for (coin in coinnames) {
    client.hget("Exchange_Rates", "coin", function(err7, price) {
        console.dir(coin + " Price: " + price);
        console.dir(err7)
        bittrex.sendCustomRequest('https://bittrex.com/api/v1.1/account/getbalances?apikey=key&currency=coin', function(data) {
            console.log(data.result[0].Balance);
            setTimeout(function() {
                bittrex.sendCustomRequest('https://bittrex.com/api/v1.1/market/selllimit?apikey=key&market=BTC-coin&quantity=data.result[0].Balance&rate=price', function(data) {
                    console.log(data);
                }, true);
            }, 20000);
        }, true);
    });
};

您似乎没有在任何地方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 ...
}