Как сгенерировать функцию с именем, заранее определенным алгоритмом через функцию JavaScript? - PullRequest
0 голосов
/ 29 мая 2020

Допустим, мне нужно ввести X строк. Буквы каждой строки должны быть разделены в переменной, имя которой соответствует следующему шаблону: (PositionOfTheCharacterInTheString)+String+(OrdinaryPositionOfTheString).

Например, у нас есть строки:

  • 1 = " AB C "
  • строка 2 =" XYZ "
  • строка Y =" HIJ "

Мне нужно, чтобы при вызове функции создавались следующие переменные:

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

Как мне go это сделать?

Я также хотел бы знать, как сгенерировать с помощью функции переменные с именами типа «1», «2», » 3 "... и" A "," B "," C "," D "...

Спасибо.

1 Ответ

0 голосов
/ 29 мая 2020

На самом деле нет причин для этого. 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'));

Конечно, я бы вместо этого просто использовал доступ к массиву.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...