我目前有一个如下结构的阵列:
var locations = [
{
lat: 54.603928, //latitude
lon: -5.915033, //longditude
title: 'Odyssey Arena, Belfast', //name of venue
html: [ //the HTML that appears inside the map tooltips
'<h4>Odyssey Arena, Belfast.</h4>', //name of venue
'<p>23rd March 2015</p>' //date of venue
].join(''), //Joins the HTML
icon: '//maps.google.com/mapfiles/markerA.png', //the marker for the location on the google map
zoom: 7//makes the map zoom in closer to the location when clicked
},
{
lat: 53.347496,
lon: -6.228508,
title: 'O2 Arena, Dublin',
html: [
'<h4>CO2 Arena, Dublin.</h4>',
'<p>20th March 2015</p>'
].join(''),
icon: '//maps.google.com/mapfiles/markerB.png',
zoom: 7
}];
我需要从每个值中提取title
值并将其放在一个新数组中。
答案 0 :(得分:2)
您可以使用.map()
方法:
var newArray = $.map(locations, function(item){
return item.title;
});
答案 1 :(得分:1)
这不是关联数组,而只是一个对象数组。你也不需要jQuery。
locations.map(function(l){return l.title})
在这里,我使用ES5 Array.map()
来获取每个数组项的title
属性(不支持IE8及以下)。
答案 2 :(得分:0)
for ( var i = 0; i < locations.length; i++ ) {
console.log (locations[i].title);
}
您还可以使用for ... in语句来迭代对象。