Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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_Jquery_Flot - Fatal编程技术网

Javascript 我可以使用参数定义字段名吗

Javascript 我可以使用参数定义字段名吗,javascript,jquery,flot,Javascript,Jquery,Flot,下面的JavaScript代码可以工作,但是是否有一种更简洁的方法可以使用n参数将其写入“eval”y1轴、y2轴、y3轴字段名 switch (n) { case 1: markingsY = [ { color: colorErr, y1axis: { from: maxVal } }, { color: colorErr, y1axis: { to: minVal } }, { color

下面的JavaScript代码可以工作,但是是否有一种更简洁的方法可以使用n参数将其写入“eval”y1轴、y2轴、y3轴字段名

  switch (n) {
    case 1:
      markingsY = [
             { color: colorErr, y1axis: { from: maxVal } },
             { color: colorErr, y1axis: { to: minVal } },
             { color: "#00f", lineWidth: 1, y1axis: { from: minVal, to: minVal } },
             { color: "#00f", lineWidth: 1, y1axis: { from: maxVal, to: maxVal } }
          ];
    break;

    case 2:
      markingsY = [
             { color: colorErr, y2axis: { from: maxVal } },
             { color: colorErr, y2axis: { to: minVal } },
             { color: "#00f", lineWidth: 1, y2axis: { from: minVal, to: minVal } },
             { color: "#00f", lineWidth: 1, y2axis: { from: maxVal, to: maxVal } }
          ];
    break;

    case 3:
      markingsY = [
             { color: colorErr, y3axis: { from: maxVal } },
             { color: colorErr, y3axis: { to: minVal } },
             { color: "#00f", lineWidth: 1, y3axis: { from: minVal, to: minVal } },
             { color: "#00f", lineWidth: 1, y3axis: { from: maxVal, to: maxVal } }
          ];
    break;

    default:
    break;


  }

编辑:误读了问题,对不起

您可以使用静态键而不是需要更改的键,然后动态更改它,以便:

markingsY = [
    { color: colorErr, yaxis: { from: maxVal } },
    { color: colorErr, yaxis: { to: minVal } },
    { color: "#00f", lineWidth: 1, yaxis: { from: minVal, to: minVal } },
    { color: "#00f", lineWidth: 1, yaxis: { from: maxVal, to: maxVal } }
];
markingsY.forEach(function(item){
    item["y"+n+"axis"]=item.yaxis;//copy it to its new key
    delete item.yaxis;//remove the old one
});
尝试:

然后可以更换开关(n):

collections[n]

预期的输入和输出是什么?输入:n-整数,输出标记Y,数组,字段名与n,y1axis,y2axis,Y3axis相关。对于某些事情,flot使用
yaxis
而不是
y1axis
,可能两者都可以工作。顺便说一句:我已经做了你在前面的问题中提出的问题。我可以用-var lookup={1:[y1axis],2:[y2axis],3:[y3axis],};markingsY=[{color:colorr,lookup[n]:{from:maxVal}},{color:colorr,lookup[n]:{to:minVal},{color:#00f],线宽:1,lookup[n]:{from:minVal,to:minVal},{color:#00f),线宽:1,lookup[n]:{from:maxVal,to:maxVal};我似乎误读了你们的问题,对不起,我把我的答案编辑成了你们想要的,我想。
collections = [ 
    [{color:#0000000, y0axis:{form:1234}}], 
    [{color:#0000000, y1axis:{form:1234}}] 
.....];
collections[n]