我是JavaScript的新手,所以请原谅我对基础知识和适当词汇的无知。
我有一个对象列表,所有对象都包含特定信息/变量/元素(latitde和经度),我希望在单独的数组中包含这些信息。
var data = [{
"0": "44",
"latitude": "44",
"1": "11",
"longitude": "11"
}, {
"0": "45",
"latitude": "45",
"1": "12",
"longitude": "12"
}, {
"0": "46",
"latitude": "46",
"1": "13",
"longitude": "13"
}, {
"0": "47",
"latitude": "47",
"1": "14",
"longitude": "14"
}];
我已经知道我可以轻松访问特定值:
data[1].latitude
data[1].longitude
但是我怎么把它们放在一起得到这样的东西呢? :
var latitude = [44, 45, 46, 47]
var longitude = [11, 12, 13, 14]
答案 0 :(得分:2)
您可以循环遍历data
数组的元素,并将所需的值添加到将保存结果的其他数组中:
var latitudes = [];
var longitudes = [];
for (var i = 0; i < data.length; i++) {
latitudes.push(data[i].latitude);
longitudes.push(data[i].longitude);
}
// at this stage the latitudes and longitudes arrays
// will contain the desired values
同样在你的data
数组中,纬度和经度是字符串,而在预期的数组中,你需要整数。因此,在将值添加到结果数组之前,您可能需要使用parseInt
函数解析值。
latitudes.push(parseInt(data[i].latitude, 10));
longitudes.push(parseInt(data[i].longitude, 10));
或使用parseFloat
函数,如果这些字符串可以表示十进制数字(对纬度和经度更为真实)。
答案 1 :(得分:1)