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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js怎么循环出变量,然后一个个储存到数组中?相关的知识,希望对你有一定的参考价值。

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

 

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数组有三个子弹对象了。

追问

  json数组是这样的吗?

  var dd=
   ss:'sdf',
   vv:'sdfsd'
  
那怎么循环出N个这样的

追答var bullets = [];
for (var i = 0; i < 10; i++) 
    var bullet =  "Speed": "200", "Direction": "向右" ;
    bullets[i] = bullet;

如上,循环给json数组赋值就行了。

 

请参考并采纳,谢谢!

参考技术A 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());

参考技术B 定义数组,在循环中使用put方法就可以了。 参考技术C 说清楚 参考技术D 能不能具体一点儿追问

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;  

追问

这样好像存进去的是数字啊, 我想存进去一个变量或者一个可以定义属性的
像这样:var dd; dd. ? 这个?可以是自己定义的
我举个例子:
var dd=[];
var sl=2;
for(var i=0; i<sl;i++)
//这里面我本来是这样的
dd[i]=Object;
//但是这样的话我不管修改数组里哪一个,全部都会改变,所以我就想用变量,不知道我这样说你能不能理解

追答

还是不懂,可能是我孤陋寡闻了吧

js数据三大储存格式

一.String格式  做为一个前端者 你第一手得到的数据都是字符串

二.数组格式

1.定义  var arr=[“张三”,”李四”,”王五”];

 技术分享图片

技术分享图片

数据通过索引去查找对应的元素   arr[3]

2.数组的遍历

For循环去遍历数组中的元素

 技术分享图片

3.数组的其他定义方式

Var arr=new Array()

 技术分享图片

4.指定长度式定义

 技术分享图片

三,json格式

  1. 定义 var obj={“name”:”张三”,”age”:24,”sex”:”男”}

 技术分享图片

技术分享图片

我们把 age name sex keys 键 (属性)

我们把后面的 24 张三 男  叫值  (属性值)

这种keys:value 这种数据格式在js中叫键值对

In  运算  看一个属性是否是json

 技术分享图片

Json的遍历

For in

 技术分享图片

如何操作json的值    通过.运算 和 []

 技术分享图片

.[] 都表示的的意思

Arr[1] arr的索引1第二项,一般数组用[]  json.

 

 

以上是关于js怎么循环出变量,然后一个个储存到数组中?的主要内容,如果未能解决你的问题,请参考以下文章

JS中怎么循环出checkbox所取的的值

js的Dom对象集合循环遍历过程中数组长度发生变化,小白不懂,求大神指教

matlab中后一次循环把前一次循环产生的数组覆盖掉怎么解决

jquery循环获取值想依次添加到数组里,再怎么从数组中取出值

JS中for...in 语句用于对数组或者对象的属性进行循环操作吗?

怎么用js拿到一个对象里面的属性