Est-il un seul Apps Script fonction équivalente à un MATCH() avec VRAI?

0

La question

J'ai besoin d'écrire quelques fonctions qui impliquent la même fonction que les Feuilles de la fonction MATCH() avec le paramètre "type de tri" pour valeur TRUE ou 1, de sorte que la recherche de l'35 [10,20,30,40] donnera 2, l'indice de 30, la prochaine valeur la plus faible à 35.

Je sais que je peux le faire en boucle sur le tableau de recherche et de test de chaque valeur par rapport à ma recherche de la valeur jusqu'à une valeur supérieure à la valeur de recherche est trouvé, mais il me semble qu'il doit y avoir une abréviation moyen de le faire. Nous n'avons pas à le faire lors de la recherche d'une valeur exacte; nous pouvons simplement utiliser indexOf(). J'ai été surpris quand j'ai appris que indexOf() n'a pas de paramètres pour le type de recherche, mais ne peut renvoyer la valeur -1 si la valeur exacte n'est pas trouvé.

Il n'existe pas de fonction similaire à celle des indexOf() qui va le faire, ou est-il réellement nécessaire de faire une boucle sur le tableau à chaque fois que vous besoin de faire cela?

1

La meilleure réponse

3

Probablement, vous êtes à la recherche pour le array.find() la méthode. Le impelentation pourrait être quelque chose comme ceci:

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

Il existe une autre méthode array.findIndex(). Probablement, vous pouvez l'utiliser ainsi:

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

Dans d'autres langues

Cette page est dans d'autres langues

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