如何通过JavaScript函数生成具有算法预先确定的名称的函数?

问题描述 投票:-2回答:1

假设我需要输入X个字符串。每个字符串的字母必须用一个具有以下模式名称的变量分隔:(PositionOfTheCharacterInTheString)+String+(OrdinaryPositionOfTheString)

例如,我们有字符串:

  • 1 =“ ABC”
  • string 2 =“ XYZ”
  • string Y =“ HIJ”

调用时我需要一个函数来创建以下变量:

1String1="A"
2String1="B"
3String1="C"
1String2="X"
2String2="Y"
3String2="Z"
1String3="H"
2String3="I"
3String3="J"

我将如何去做?

我还想知道如何通过函数变量来生成名称为“ 1”,“ 2”,“ 3” ...和“ A”,“ B”,“ C”,“ D”的变量。 。

谢谢。

javascript function variables
1个回答
0
投票

确实没有理由这样做。 JavaScript不支持变量变量。也许您想做的是:

function Organizer(){
  const a = [];
  for(let i=0,s,l=arguments.length; i<l; i++){
    a.push([]);
  }
  a.forEach((v, i)=>{
    s = arguments[i].split('');
    s.forEach((r, q)=>{
      a[q].push(r);
    });
  });
  this.getArray = ()=>{
    return a;
  }
  this.getWeird = fakeVar=>{
    const s = fakeVar.split(/string/i);
    return a[s[0]-1][s[1]-1];
  }
}
const org = new Organizer('ABC', 'XYZ', 'HIJ');
console.log(org.getWeird('3String2'));
console.log(org.getWeird('2String3'));

当然,我只使用数组访问。

© www.soinside.com 2019 - 2024. All rights reserved.