如何检查JavaScript对象中是否存在值,以便不加倍?

mos*_*toh 0 javascript jquery

演示和完整代码是这样的: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)

解决我的问题的任何解决方案?

谢谢

RRK*_*RRK 5

你可以用它.使用数组检查值是否已读取.

使用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)

DEMO