如何在运行时在javascript中保存对象中的数组

时间:2012-04-15 02:10:39

标签: javascript arrays object

我想通过循环在运行时将数组保存在对象中: 例如,我在数组inp=[2,7,20,15,19]中输入一个输入,我希望将其保存在obj={0:2,1:7,2:20,3:15,4:19}中但在运行时保存,以便我有一个

for(i=0;i<inp.length;i++) 
{ save each element of array into the respective object element } 

问题是我必须保存不同长度的数组,我将其作为user.i的输入。我也在之后对对象进行排序并在我的代码中返回另一个数组中的索引。我只是被困在如何在运行时保存对象中的数组。我搜索了很多线索开始,但我找不到任何东西。

提前致谢

2 个答案:

答案 0 :(得分:1)

  

数组已经是一个对象

如果你做了一些实验,你会发现:

typeof([]) //<--retruns "object"

答案 1 :(得分:1)

  • 自动分配:( credit:am not i am

    var obj = inp.slice();
    
  • 手动分配:

    var obj = {};
    for(var i=0, n=inp.length; i<n; i++) 
       obj[i]=inp[i];
    

虽然Array在技术上是JavaScript中Object的子类,但从Array到Object的唯一真正原因是你丢失了本机方法(indexOf,{{在数组构造过程中创建的1}},concat等。