Czy istnieje jedna funkcja skryptu aplikacji, który jest odpowiednikiem funkcji MATCH() z TRUE?

0

Pytanie

Muszę napisać niektóre z funkcji, które wykorzystują tę samą funkcję, co funkcja arkuszy, MATCH() z parametrem typ sortowania", zainstalowaną na wartość TRUE lub 1, aby wyszukiwanie 35 w [10,20,30,40] dał 2, indeks 30, następujący najmniejszą wartość 35.

Wiem, że mogę zrobić to, зациклившись na tablicy, aby znaleźć i sprawdzając każdą wartość na zgodność z mojego wartość wyszukiwania, dopóki nie zostanie znalezione wartość większą niż wartość wyszukiwania, ale wydaje mi się, że do tego musi być skrócony sposób. Nie musimy tego robić w poszukiwaniu dokładnej wartości; możemy po prostu użyć indexOf(). Byłem zaskoczony, kiedy po raz pierwszy dowiedziałem się, że indexOf() nie ma opcji typu wyszukiwania, ale może zwracać wartość -1 tylko w przypadku, jeżeli dokładna wartość nie znaleziono.

Czy istnieje jakaś funkcja, podobna do indexOf (), która będzie to robić, czy faktycznie należy uporządkować tablicę za każdym razem, kiedy trzeba to zrobić?

1

Najlepsza odpowiedź

3

Prawdopodobnie szukasz array.find() metoda. Impuls może być mniej więcej taki:

var arr = [10,20,30,40]

// make a copy of the array, reverse it and do find with condition
var value = arr.slice().reverse().find(x => x < 35)

console.log(value) // output --> 30 (first element less than 35 in the reversed array)

var index = arr.indexOf(value)

console.log(index) // output --> 2 (index of the element in the original array)

https://www.w3schools.com/jsref/jsref_find.asp

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find

Nie ma innej metody array.findIndex(). Prawdopodobnie, można również używać go:

var arr = [10,20,30,40]

// find more or equal 35 and return previous index
var index = arr.findIndex(x => x >= 35) - 1 

console.log(index) // output --> 2

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex

2021-11-24 06:57:06

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................