Javascript 如何访问阵列中的另一个阵列
大家好,我想知道如何显示数组中的“产品”数据。请参阅下面的代码 JSON数组Javascript 如何访问阵列中的另一个阵列,javascript,Javascript,大家好,我想知道如何显示数组中的“产品”数据。请参阅下面的代码 JSON数组 var places = [ {"country_name": "Denmark", "latitude": 56, "longitude": 10, "status": "OK", "site_name": "Denmark", "serial_number": "12345", "products":["1","2"]}, {"country_name": "Japan", "latitude": 56, "lon
var places = [
{"country_name": "Denmark", "latitude": 56, "longitude": 10, "status": "OK", "site_name": "Denmark", "serial_number": "12345", "products":["1","2"]},
{"country_name": "Japan", "latitude": 56, "longitude": 10, "status": "OK", "site_name": "Norway", "serial_number": "12345", "products":["3","4"]},
{"country_name": "Denmark", "latitude": 56, "longitude": 10, "status": "OK", "site_name": "USA", "serial_number": "12345", "products":["7","6"]}]
Javascript
function displayData(e)
{
var html = '';
var mapDiv = document.getElementById('mapContainer'), i = 0,
dataIndex, tooltipDiv, key,
mapMarkers = $(mapDiv).find('.e-mapMarker'), index = 0;
var collection = [];
for (i = 0; i < mapMarkers.length; i++) {
if (e.target.parentNode.parentNode == mapMarkers[i]) {
index = i;
}
}
html += '<div id="infocontainer" class="map_element">';
html += '<div class="p-image"></div>';
html += '<div class="popupdetail">';
html += '<div class="p-name"> Site Name: ' + places[index].site_name + '</div>';
html += '<div class="p-name"> Site Status: ' + places[index].status + '</div>';
html += '<div class="p-name"> Country: ' + places[index].country_name + '</div>';
html += '</div>';
html += '</div>';
if (!document.getElementById('map_tooltip'))
{
tooltipdiv = $("<div></div>").attr('id', "map_tooltip");
$(document.body).append(tooltipdiv);
$(tooltipdiv).css({
"display": "none", "padding": "5px",
"position": "absolute",
"z-index": "13000",
"cursor": "default",
"font-family": "Segoe UI",
"color": "#707070",
"font-size": "12px", "pointer-events": "none",
"background-color": "#FFFFFF",
"border": "1px solid #707070"
});
}
else
{
tooltipdiv = $("#map_tooltip");
$(tooltipdiv).css({
"left": (e.pageX + 5),
"top": (e.pageY + 5)
});
$(tooltipdiv).html(html).show("slow");
}
}
函数显示数据(e)
{
var html='';
var mapDiv=document.getElementById('mapContainer'),i=0,
dataIndex,tooltipDiv,键,
mapMarkers=$(mapDiv).find('.e-mapMarker'),index=0;
var集合=[];
对于(i=0;i
因此,我想呈现产品内部的“1”、“2”,或者如果我有多个国家/地区在数组中,我想呈现一个国家/地区的特定产品数组,所以我希望我不会因为不清楚的英语或解释而获得任何反对票:-)试试这个
places[index].products.join(',')
希望这就是你所需要的。试试这个
places[index].products.join(',')
希望这就是您所需要的。您可以像这样在阵列中循环:
var位置=[
{“国家名称”:“丹麦”,“纬度”:56,“经度”:10,“状态”:“确定”,“地点名称”:“丹麦”,“序列号”:“12345”,“产品”:[“1”,“2”]},
{“国家名称”:“法国”,“纬度”:5644,“经度”:1044,“状态”:“确定”,“地点名称”:“法国”,“序列号”:“125”,“产品”:[“3”,“4”]}]
places.forEach(功能(项、索引){
如果(item.country_name==“丹麦”){
if(项目产品){
项目.产品.forEach(功能(val){
控制台日志(val);
});
}
}
});代码>您可以在数组中循环,如下所示:
var位置=[
{“国家名称”:“丹麦”,“纬度”:56,“经度”:10,“状态”:“确定”,“地点名称”:“丹麦”,“序列号”:“12345”,“产品”:[“1”,“2”]},
{“国家名称”:“法国”,“纬度”:5644,“经度”:1044,“状态”:“确定”,“地点名称”:“法国”,“序列号”:“125”,“产品”:[“3”,“4”]}]
places.forEach(功能(项、索引){
如果(item.country_name==“丹麦”){
if(项目产品){
项目.产品.forEach(功能(val){
控制台日志(val);
});
}
}
});代码>
放置[0]。产品[0]
以获取值“1”
放置[0]。产品[1]
以获取值“2”
places[0]。products.join(“,”)
将逗号(,
)分隔的两个值连接起来。
放置[0]。产品[0]
以获取值“1”
放置[0]。产品[1]
以获取值“2”
places[0].products.join(“,”)
连接两个由逗号(,
)分隔的值。在我看来,这是一个更简单的循环
var places = [
{"country_name": "Denmark", "latitude": 56, "longitude": 10, "status":
"OK", "site_name": "Denmark", "serial_number": "12345", "products":
["1","2"]},
{"country_name": "Denmark", "latitude": 56, "longitude": 10, "status":
"OK", "site_name": "Denmark", "serial_number": "12345", "products":
["1","2"]}
]
for(var j = 0;j<places.length;j++){
if(places[j].products){
var plcs = places[j].products
for(var i = 0;i < plcs.length;i++){
console.log(plcs[i]);
}
}
}
var位置=[
{“国家名称”:“丹麦”,“纬度”:56,“经度”:10,“状态”:
“确定”,“现场名称”:“丹麦”,“序列号”:“12345”,“产品”:
["1","2"]},
{“国家名称”:“丹麦”,“纬度”:56,“经度”:10,“状态”:
“确定”,“现场名称”:“丹麦”,“序列号”:“12345”,“产品”:
["1","2"]}
]
对于(var j=0;j,在我看来,这是一个更简单的循环
var places = [
{"country_name": "Denmark", "latitude": 56, "longitude": 10, "status":
"OK", "site_name": "Denmark", "serial_number": "12345", "products":
["1","2"]},
{"country_name": "Denmark", "latitude": 56, "longitude": 10, "status":
"OK", "site_name": "Denmark", "serial_number": "12345", "products":
["1","2"]}
]
for(var j = 0;j<places.length;j++){
if(places[j].products){
var plcs = places[j].products
for(var i = 0;i < plcs.length;i++){
console.log(plcs[i]);
}
}
}
var位置=[
{“国家名称”:“丹麦”,“纬度”:56,“经度”:10,“状态”:
“确定”,“现场名称”:“丹麦”,“序列号”:“12345”,“产品”:
["1","2"]},
{“国家名称”:“丹麦”,“纬度”:56,“经度”:10,“状态”:
“确定”,“现场名称”:“丹麦”,“序列号”:“12345”,“产品”:
["1","2"]}
]
对于(var j=0;jSee)您是否尝试过places[index].products[0]和places[index].products[1]?您想在哪一行访问阵列?您尝试过places[index].products[0]和places[index].products[1]?您想在哪一行访问阵列?我可以向您提出另一个问题吗?如果阵列中有两个国家,该怎么办(例如丹麦和法国)我想只显示丹麦的产品我应该使用for循环替换forEach以显示丹麦下的产品吗?抱歉,我对这个数组非常陌生,因此您需要检查国家名称,如if(item.country_name==“丹麦”){..
@Kyle,我在代码片段中做了更改。请看一下。好吧,但我不想说我的老板问我,如果我有国家A-Z,我应该写一个if语句,相当于JSON arrayLet us中的国家数。我可以问你另一个问题吗?如果数组中有两个国家(例如丹麦和法国),该怎么办我想只显示丹麦的产品我应该用for循环替换forEach以显示丹麦下的产品吗?抱歉,我对这个数组非常陌生,您需要检查国家名称,如if(item.country\u name=='dankman'){..
@Kyle,我在代码段中做了更改。请看一下。好吧,但我不想说我的老板问我如果我有国家A-Z,我应该写一个if语句,该语句相当于我的JSON arrayLet us中的国家数。如果我有两个以上的国家,这行得通吗?我的意思是如果我想展示某个国家的产品ular country和我有两个以上的国家?针对多个地点进行了更改。两个国家都使用了相同的国家数据。更简单?由您决定