在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ js如何循環(huán)賦值?

js如何循環(huán)賦值?

  var a0={name:0},
      a1={name:1},
      a2={name:2},
      a3={name:3},
      a4={name:4},
      a5={name:5},
      a6={name:6}
    ......

像這樣的賦值我想循環(huán)賦值,如何實現(xiàn)?
我試過用eval(),可是這樣對象就變成字符串了啊

for(var j=0;j<json.length;j++) {
   eval('a'+j+ '="'+ json[j]+'"');
   console.log(eval('a'+j));//變成[object Object]
}
回答
編輯回答
真難過

for循環(huán)的i是替換不到變量名里的,這種情況還是用數(shù)組吧,用起來也方便

2018年7月7日 10:51
編輯回答
愛礙唉

為什么會有這種怪異的操作......

2017年1月15日 06:51
編輯回答
執(zhí)念

因為=左邊不能有運(yùn)算符,所以動態(tài)的拼接變量名應(yīng)該是不行的,但是可以換種思路實現(xiàn):

var oa = [];

for (var i=0; i<100; i++) {
    oa.push({name: i});
}

2018年2月26日 06:07
編輯回答
我甘愿

如果一定要達(dá)到這樣的效果,你可以將值交給window,代碼如下:

for(var i=0;i<10;i++) {
   window['a' + i] = {
       name: i
   };
}
console.log(a1)
console.log(a2)
console.log(a3)

我也建議將這樣的操作交給數(shù)組或者對象

2018年9月16日 12:04
編輯回答
護(hù)她命

這樣是可以的

for (let i = 0; i < json.length; i++) {
    eval('a' + i + '=' + JSON.stringify(json[i]));
}

json[i] 默認(rèn)轉(zhuǎn)成字符串是 [object Object],如果你不加引號代碼就變成了 a0=[object Object],運(yùn)行是會報錯的,我猜想你為了不報錯給 json[i] 又加了引號,代碼變成了 a0="[object Object]",所以值就變成字符串了。

一般不建議使用 eval(),因為會產(chǎn)生獨(dú)立作用域而影響性能,同時還有被代碼注入的危險。而且這樣 eval 出來的變量因為數(shù)量不定而不便于訪問和管理,建議還是存放在 json 這個數(shù)據(jù)中就好了。如果想通過 key 的方式來訪問數(shù)據(jù)而不是數(shù)字索引,那就保存到一個對象中也是可以的??傊@些數(shù)據(jù)因為可能數(shù)量不定,最好是在一個數(shù)組或?qū)ο笾屑性L問和管理。

2017年4月5日 18:11
編輯回答
互擼娃

這種方式的變量最恰當(dāng)?shù)氖欠旁跀?shù)組里,再不濟(jì)也是放在對象里。定義n個變量是為了什么。

2018年9月17日 03:29
編輯回答
入她眼
直接保存string不就行了
 for(var i=0;i<5;i++){
    var  string=`var a${i}={name:${i}}`
     console.log(string)
    eval(string)
 }

 console.log(a2)  //var a0={name:0}
     //var a1={name:1}
   //var a2={name:2}
    //var a3={name:3}
     //var a4={name:4}
    // Object {name: 2}
2017年10月27日 10:54