Mam poniżej przedmiot

var total_hours = <?php echo json_encode($total_hours); ?>;



    [
      {"user_id": 2959
       "total_hours": "38"
      }
      {"user_id": 116
       "total_hours": "1"
      }
    ]

Chcę uzyskać total_hours na podstawie user_id

var user = document.getElementById("user").value;

            var yahooOnly = total_hours.filter(function (entry) {
                return entry.user_id === user;
            });

            total_hours = yahooOnly;

Ale um nie można uzyskać wymaganego wyniku. Czy ktoś może mi pomóc?

Wypróbuj to Pytanie ale nie dostałem Wymagane wyjście!

-1
Learn with Panda 24 grudzień 2019, 05:24

1 odpowiedź

Najlepsza odpowiedź

filter() zwraca tablicę. Musisz go zindeksować, a następnie uzyskać dostęp do właściwości total_hours.

Możesz użyć .find() zamiast .filter(), aby pobrać obiekt zamiast tablicy.

var total_hours = [{
  "user_id": 2959,
  "total_hours": "38"
}, {
  "user_id": 116,
  "total_hours": "1"
}];

var user = 2959;
var yahooOnly = total_hours.find(entry => entry.user_id == user);
var yahoo_hours = yahooOnly.total_hours;
console.log(yahoo_hours)
1
Barmar 24 grudzień 2019, 02:38