簡體   English   中英

在 jQuery 中創建 object 數組

[英]Creating an object array in jQuery

我想存儲一組緯度/經度。 我的頁面上有這些輸入:

<input type="hidden" class="latitude" value="-12.3456" />
<input type="hidden" class="longitude" value="12.3456" />
<input type="hidden" class="latitude" value="98.7654" />
<input type="hidden" class="longitude" value="-98.7654" />

我將它們放入 arrays 中,如下所示:

var latitudes = $('.latitude').map(function () { return this.value; }).get();
var longitudes = $('.longitude').map(function () { return this.value; }).get();

但我認為將它們作為對象存儲在一個數組中會更好,這樣我就可以說:

$.each(array, function (i, obj) {
    alert(obj.Latitude);
    alert(obj.Longitude);
});

如何修改它以創建對象數組?

我會使用jQuery.map()

$.map(latitudes, function(lat, i) {
  return {latitude:lat, longitude:longitudes[i]};
});
var coords = [];
$.each(latitudes, function(index, value) {
    coords.push({'Latitude': value, 'Longitude': longitudes[index]});
});

這是一種方式:

http://jsfiddle.net/95cga/

var longs=$(".longitude");
var lats=$(".latitude");

var objs=[];

for(var i=0;i<Math.min(longs.length,lats.length);i++){
    var obj={
        "Latitude" : longs.eq(i).val(),
        "Longitude" : lats.eq(i).val()
    }   

    objs.push(obj);
}

我不喜歡假設事物總是成對的,即使它們應該是。 這就是 Math.min 存在的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM