猿问

创建增量变量名称

我需要使用循环创建变量的动态名称。


例:


常量 1 = 测试;


常量 2 = 测试;


常量3 = 测试;....


我试试这个,但这只在数组中创建20个相同的变量名称


我需要在每个循环中将唯一名称递增 1,并返回每个变量以在之后使用。


function createVariables(){

  var accounts = [];


  for (var i = 0; i <= 20; ++i) {

      accounts[i] = "whatever";

  }


  return accounts;

}

我该怎么做?


三国纷争
浏览 118回答 3
3回答

慕哥6287543

使用对象可能是解决方法var accounts = {};&nbsp; for (var i = 0; i <= 20; ++i) {&nbsp; &nbsp; &nbsp; accounts["const"+i] = "test";&nbsp; }&nbsp;&nbsp;&nbsp; console.log(accounts)

LEATH

如果你需要变量(不是数组),那么你可以使用以下代码:for (let i = 0; i <= 20; ++i) {&nbsp; window[`whatever${i}`] = + i;&nbsp;}console.log(whatever0)console.log(whatever1)//...console.log(whatever19)在游乐场观看: https://jsfiddle.net/denisstukalov/thvc2ew8/4/

跃然一笑

你想实现什么?正如一些评论中提到的,数组将是一个更好的方法。也就是说,一种解决方案是使用字符串索引器 () 在 JavaScript 对象上设置值。请参阅以下示例:['']function createVariables(obj){&nbsp; for (var i = 0; i <= 20; ++i) {&nbsp; &nbsp; obj[`const${i}`] = "whatever";&nbsp; }}// add it to a new objectconst accounts = {};createVariables(accounts);console.log(accounts.const1, accounts.const2, accounts.const3);// avoid adding it to global scope (like window)createVariables(window);console.log(const1, const2, const3);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答