• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Szukanie najbardziej zbliżonego elementu w tablicy JS.

Cloud VPS
0 głosów
975 wizyt
pytanie zadane 11 marca 2017 w JavaScript przez MatiiTv Gaduła (3,800 p.)

Witam. Potrzebuję w JS napisać szukanie najbardziej zbliżonego pod względem wartości elementu (integer) w tablicy JS, w której są obiekty. 

Przykład:

var array = [{id: 1,value: 1.05},{id: 2,value: 1.09},{id: 3, value: 15}];

Załóżmy, że potrzebuję znaleźć obiekt w tablicy, gdzie 'value' jest najbardziej zbliżony do 1.06. Przydałoby się mieć także jakiś zakres, tak żeby w przypadku braku podobieństw w zakresie zwracano false.

Pozdrawiam.

2 odpowiedzi

0 głosów
odpowiedź 11 marca 2017 przez surfeliza Stary wyjadacz (11,260 p.)
I w którym momencie masz problem?
0 głosów
odpowiedź 11 marca 2017 przez criss Mędrzec (172,570 p.)

Przechodzisz przez całą tablice i dla każdego elementu sprawdzasz wartość bezwzględną różnicy wzorcowej wartości i value danego elementu.

var array = [{id: 1,value: 1.15},{id: 2,value: 1.09},{id: 3, value: 15}];
var pattern = 1.06;
var best =  0;

for(var i = 1; i < array.length; i++)
  if(Math.abs(pattern - array[i].value) < Math.abs(pattern - array[best].value))
      best = i;

document.write(array[best].value);

Przydałoby się mieć także jakiś zakres, tak żeby w przypadku braku podobieństw w zakresie zwracano false.

Nie mam pojęcia o co ci chodzi. Jakie podobieństwa? Jaki zakres? 

Podobne pytania

0 głosów
3 odpowiedzi 3,551 wizyt
pytanie zadane 23 lipca 2017 w JavaScript przez modest Nowicjusz (210 p.)
0 głosów
1 odpowiedź 2,169 wizyt
pytanie zadane 28 sierpnia 2018 w C i C++ przez supergosc44 Początkujący (270 p.)
+1 głos
1 odpowiedź 917 wizyt

93,456 zapytań

142,451 odpowiedzi

322,721 komentarzy

62,837 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...