演示和完整代码是这样的:https://jsfiddle.net/oscar11/44L4z5e0/
我的Javascript代码是这样的:
var json = {
"SearchAvailResponse": {
"Hotel": [{
"HCode": "IDJKT_00393",
"Name": "All Seasons Jakarta Gajah Mada (Opening July 2013)",
}, {
"HCode": "IDJKT_00448",
"Name": "Holiday Inn Express Jakarta Pluit"
}, {
"HCode": "IDJKT_00448",
"Name": "Holiday Inn Express Jakarta Pluit"
}, {
"HCode": "IDJKT_00448",
"Name": "Holiday Inn Express Jakarta Pluit"
}, {
"HCode": "IDJKT_00448",
"Name": "Holiday Inn Express Jakarta Pluit"
}, {
"HCode": "IDJKT_00337",
"Name": "Novotel Gajah Mada"
}, {
"HCode": "IDJKT_00337",
"Name": "Novotel Gajah Mada"
}, {
"HCode": "IDJKT_00344",
"Name": "Rota International"
}]
}
};
var totalHotel = json.SearchAvailResponse.Hotel.length;
// console.log(totalHotel);
var hotel = '';
for(var i=0;i<totalHotel;i++){
console.log(json.SearchAvailResponse.Hotel[i].Name);
hotel += json.SearchAvailResponse.Hotel[i].Name;
hotel += '<br/>';
}
$('#hotel').html(hotel);
Run Code Online (Sandbox Code Playgroud)
显示的值的结果是双倍数据
我想要这样的结果:
All Seasons Jakarta Gajah Mada (Opening July 2013)
Holiday Inn Express Jakarta Pluit
Novotel Gajah Mada
Rota International
Run Code Online (Sandbox Code Playgroud)
解决我的问题的任何解决方案?
谢谢
你可以用它.使用数组检查值是否已读取.
使用hotelArray.indexOf(val) == -1检查值数组存在.
var totalHotel = json.SearchAvailResponse.Hotel.length;
// console.log(totalHotel);
var hotel = '';
var hotelArray = [];
for (var i = 0; i < totalHotel; i++) {
val = json.SearchAvailResponse.Hotel[i].Name;
console.log(json.SearchAvailResponse.Hotel[i].Name);
if (hotelArray.indexOf(val) == -1) {
hotelArray.push(json.SearchAvailResponse.Hotel[i].Name);
}
}
$('#hotel').html(hotelArray.join('<br/>'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
130 次 |
| 最近记录: |