2011-10-22 27 views
7

này là một mảng của các đối tượng,cách thêm giá trị vào một mảng đối tượng động trong javascript?

var data = [{"label" : "1", "value" : 12}, 
{"label" : "1", "value" : 12 }, 
{"label" : "1", "value" : 12}, 
{"label" : "1", "value" : 12}]; 

làm thế nào tôi có thể thêm giá trị cho những động? tôi đã cố gắng vào mã bên dưới nhưng không thành công

var lab=["1","2","3", "4"]; 
var val= [42,55,51,22]; 
var data =new Array(); 
    for(var i=0; i<4; i++) { 
     data[i].label= lab[i]; 
     data[i].value=val[i]; } 

ai vui lòng .. cảm ơn trước

+1

Bạn biết rằng có 3x lab và 4x val? – xanatos

+0

vâng tôi biết, nó chỉ ở đây nhầm lẫn .. cảm ơn vì đã thông báo cho tôi –

Trả lời

22

Bạn cần phải nhanh chóng các đối tượng đầu tiên. Cách đơn giản nhất là:

var lab =["1","2","3"]; 
var val = [42,55,51,22]; 
var data = []; 
for(var i=0; i<4; i++) { 
    data.push({label: lab[i], value: val[i]}); 
} 

Hoặc một cách ít súc tích khác, nhưng gần gũi hơn với mã ban đầu của bạn:

for(var i=0; i<4; i++) { 
    data[i] = {};    // creates a new object 
    data[i].label = lab[i]; 
    data[i].value = val[i];  
} 

array() sẽ không tạo ra một mảng mới (trừ khi bạn xác định chức năng đó). Hoặc là Array() hoặc new Array() hoặc chỉ [].

Tôi khuyên bạn nên đọc MDN JavaScript Guide.

Các vấn đề liên quan