2017-05-08 77 views
-3

我怎么能转换阵列命名contaier反对?的Javascript - 转换数组对象

var container = []; 

function display(data) { 

    var destination = document.getElementById("list"); 
    var html = ""; 

     for(var i =0;i <container.length; i++) { 
      html +="<li>"+container[i]+"</li>"; 
     } 
     destination.innerHTML = html; 
} 

我已经尝试了很多方法,但无法弄清楚。我是begginer,仍在学习。

+1

目前尚不清楚你的意思。你为什么希望它成为一个对象?为什么不把它作为一个对象呢?它是一个类似事物的集合,还是与名称不相交的事物集合?为什么它是空的? –

+1

这是很不清楚你问。代码似乎将数组转换为字符串,而不是对象。 'container'数组是空的,并且您从不使用'data'参数。你将不得不显示完整的代码([mcve])和一些示例数据。 – JJJ

+0

我不熟悉惠特JavaScript,但已尝试其他可能。如果我尝试任何其他方式,问题会发生。 – Mario

回答

0

看起来要追加数据容器

var container = []; 

function display(data) { 
container.push(data); 
var destination = document.getElementById("list"); 
var html = ""; 

    for(var i =0;i <container.length; i++) { 
     html +="<li>"+container[i]+"</li>"; 
    } 
    destination.innerHTML = html; 
} 

display("hi!"); 
display("It should work now!"); 

如果你不想数组:/:

var container = {}; 

function display(data) { 
Object.assign(container,data); 
var destination = document.getElementById("list"); 
var html = ""; 

    for(key in container) { 
     html +="<li>"+key+":"+container[key]+"</li>"; 
    } 
    destination.innerHTML = html; 
} 

display({name:"jonas"}); 
display({working:"yes!"}); 

如果你只想要值显示:

var container = {}; 

function display(data) { 
Object.assign(container,data); 
var destination = document.getElementById("list"); 
var html = ""; 

    for(value of container) { 
     html +="<li>"+value+"</li>"; 
    } 
    destination.innerHTML = html; 
} 

display({name:"jonas"}); 
display({working:"yes!"}); 
-1
var obj={}; 
container.forEach(function(e,i){ 
    obj[i]=e; 
}); 
console.log(obj);