1

我想通过循环在运行时将数组保存在对象中。

例如,我在一个数组中输入一个输入,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 } 

问题是我必须保存不同长度的数组,这些数组来自用户的输入。

之后我还在对对象进行排序并在我的代码中返回另一个数组中的索引。我只被困在如何在运行时将数组保存在对象中。我搜索了很多开始的线索,但我找不到任何东西。

4

2 回答 2

1

数组已经是一个对象

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

typeof([]) //<--retruns "object"
于 2012-04-15T02:14:13.083 回答
1
  • 自动分配:(信用:我不是

    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 的过程中,唯一真正发生的事情是您丢失了在数组创建过程中创建的本机方法(indexOfconcatreverse等)。建造。

于 2012-04-15T02:16:27.730 回答