函数Node js的数组别名

时间:2018-09-15 00:10:06

标签: javascript arrays node.js alias

我正在尝试使用变量作为数组的别名,其思想是将变量用作别名,以根据传递给函数的参数实现插入数据。

    const _ = require('underscore');
    var ha = [];
    var cha = [];
    // livedata insert all data (true or false) into array cha
    // if data contains true valor then insert data in array ha
    HA("cha",open,high,low,close);

    function HA(mode,o,h,l,c){
        var open = Number(o);
        var high = Number(h);
        var low = Number(l);
        var close = Number(c);

        if (mode == "ha" ){
            var arr = ha;         // <-- variable as array alias
        }else{
            var arr = cha;        // <-- variable as array alias
        };

        if (arr == ""){
        arr.push({open,high,low,close});    
        }else{
        console.log("ARRAY");
        console.log(_.last(arr).open);
        console.log(Number(_.last(arr).open));
        console.log("ARRAY");        
        var lhao = Number(_.last(arr).open); 
        var lhac = Number(_.last(arr).close);   

        var hao = ((lhao + lhac) / 2 ).toFixed(8);
        var hac = ((open + high + low + close) / 4).toFixed(8);
        var hah = Math.max(hao, high, hac);
        var hal = Math.min(hao, low, hac);

        var open = hao;
        var high = hah;
        var low = hal;
        var close = hac;

        arr.push({open,high,low,close});        
        console.log(arr);
        };      
    };

我已经进行了研究,但尚未实现目标。

您能帮我寻找解决方案,某些方法或库来用作变量的别名吗?

语言:Node Js

2 个答案:

答案 0 :(得分:0)

如果您需要将arr变量限制为每个函数调用,则需要将arr变量设为本地变量,如下所示

//....

function HA(mode,o,h,l,c){
   //....
   var arr;

   if (mode == "ha" ){
      arr = ha;         // <-- variable as array alias
   }else{
      arr = cha;        // <-- variable as array alias
   };

   //.....

答案 1 :(得分:0)

您可以使用一个对象,并在该对象中存储两个数组,一个数组用于“ ha”结果,另一个数组用于“ cha”结果。这是一个如何执行此操作以及如何根据模式访问正确数组的示例:

results = { ha: [], cha: [] };

function HA(mode, value) {
  results[mode].push(value);
}

HA('ha', 1);
HA('ha', 4);
HA('ha', 9);

HA('cha', 111);
HA('cha', 333);
HA('cha', 999);

// The ha results: [ 1, 4, 9 ]
console.log('The ha results:', results['ha']);
// The cha results: [ 111, 333, 999 ]
console.log('The cha results:', results['cha']);