js怎么循环出变量,然后一个个储存到数组中?

 我来答
何宜校
推荐于2019-03-26 · TA获得超过1691个赞
知道小有建树答主
回答量:702
采纳率:0%
帮助的人:963万
展开全部

举个简单例子,希望你能明白,

 

1、下面输出结果是"jim",而不是"tom",

是因为数组中保存的都是指向json对象a的地址,

dd[0],dd[1],dd[2],dd[3]对象指向的内存地址相同,

当修改其中一个dd[0]的属性值的时候,数组所有元素指向的对象属性值都改变了。

var dd = [];

var a = { "cname": "tom" };

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

    dd[i] =a;

}
dd[0].cname = "jim";
alert(dd[2].cname);

2、下面输出结果是0,而不是1,

是因为数组元素dd[0],dd[1],dd[2],dd[3]对应的内存地址都不同,互不干扰。

var dd = [];

var a = 0;

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

    dd[i] =a;

}

dd[0]=1;

alert(dd[2]);

希望对你有帮助!

更多追问追答
追问
这个我明白,我直接说我要实现的功能吧,我需要用一个数组来储存子弹,子弹数量是N个,子弹还有速度,方向的这些属性,这样该怎么实现。
追答

就用json对象数组保存:

var bullets = [{ "Speed": "200", "Direction": "向右" }, "Speed": "220", "Direction": "向后" }];
bullets[2] = {"Speed": "200", "Direction": "向后" };

 现在bullets数组有三个子弹对象了。

百度网友d944382
2019-03-20
知道答主
回答量:5
采纳率:0%
帮助的人:3733
展开全部
var students=[
            {name:"陈强",age:12},
            {name:"张强",age:15},
            {name:"张剑",age:13},
            {name:"杨兴豪",age:44}
        ]
        var arr=[];
        for(var i=0;i<students.length;i++){
            
           arr.push(students[i]['age']);
        }
        
        console.log(arr);
        document.write(arr.sort());
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
瑚一刀
2017-09-28 · TA获得超过2113个赞
知道小有建树答主
回答量:5171
采纳率:48%
帮助的人:585万
展开全部
定义数组,在循环中使用put方法就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-04
展开全部
说清楚
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Mini_humour
2013-10-04 · TA获得超过223个赞
知道小有建树答主
回答量:221
采纳率:0%
帮助的人:170万
展开全部
能不能具体一点儿
更多追问追答
追问
for (var i = 0; i < bullnumber; i++) {
Tank.bullet[i] = eval('var bull'+i+';');
}
类似这样的,但是这样好像不行 就是我不想一个个去定义变量,想用循环一个个循环出来,然后一个个给数组。
追答

看不太明白你说的,不管怎么样,变量都要进行初始化才能赋值给其它变量。如果你这一组数据有规律的话就可以不一一初始化变量了,比如:

var a=1;
var b=new Array(10); 
for(var i=0;i<b.length;i++)
{
b[i]=a+i;  
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式