繁体   English   中英

javascript数组多维推送

[英]javascript array multidimensional push

我想推送值多维数组。 但是我没有成功。

var e = [];
var data = [];  
var element = {}, items = [];
e = getelement("alan"); 

for(s=0;s < e.length ; s++ ){

element.resim = $( "#"+e[s] ).val();
element.baslik = $( "#"+e[s] ).val();
element.icerik = $( "#"+e[s] ).val();
element.links = $( "#"+e[s] ).val();
items.push(element);

}


c = JSON.stringify(items);

对象源:

'0' => "resim" '1' => "baslik" '2' => "icerik" '3' => "link"

c对象源:

[
    {"resim":"4","baslik":"4","icerik":"4","links":"4"},
    {"resim":"4","baslik":"4","icerik":"4","links":"4"},
    {"resim":"4","baslik":"4","icerik":"4","links":"4"},
    {"resim":"4","baslik":"4","icerik":"4","links":"4"}
]

您只能在element存储一个对象

每次您遍历循环时,都将编辑现有对象 ,然后将对它的另一个引用推到数组上。

每次循环时都创建一个新对象。

for(s=0;s < e.length ; s++ ){
    element = {};

您并不是每次推入数组时都创建一个新对象,因此您只是在修改同一对象并将其推入数组4次。 每次循环时都需要创建一个新对象,如下所示:

var e = [];
var data = [];  
var items = [];
e = getelement("alan"); 

for(s=0;s < e.length ; s++ ){
    var element = {};
    element.resim = $( "#"+e[s] ).val();
    element.baslik = $( "#"+e[s] ).val();
    element.icerik = $( "#"+e[s] ).val();
    element.links = $( "#"+e[s] ).val();
    items.push(element);
}


c = JSON.stringify(items);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM