Comment jquery détermine s'il s'agit d'un entier : 1. Utilisez l'opérateur de reste pour déterminer ; 2. Utilisez "Math.round" pour déterminer ; 3. Jugez via parseInt ; Via ES6 Le Number.isInteger fourni détermine s'il s'agit d'un entier.
L'environnement d'exploitation de ce tutoriel : système Windows 7, jquery version 1.10.0, ordinateur thinkpad t480.
Recommandé : Tutoriel vidéo jquery
js détermine s'il s'agit d'un type entier (5 façons)
Méthode 1. Utiliser L'opérateur reste détermine
Tout entier sera divisible par 1, c'est-à-dire que le reste est 0. Utilisez cette règle pour déterminer s’il s’agit d’un entier.
function isInteger(obj) { return obj%1 === 0 } isInteger(3) // true isInteger(3.3) // false isInteger('') // true isInteger('3') // true isInteger(true) // true isInteger([]) // true
Renvoie vrai pour les chaînes vides, les numéros de type chaîne, les booléens vrais et les tableaux vides. Si vous êtes intéressé par les détails de conversion interne de ces types, veuillez vous référer à : Valeurs fausses étranges en JavaScript
Par conséquent, vous devez d'abord déterminer si l'objet est un nombre, par exemple en ajoutant un type de
function isInteger(obj) { return typeof obj === 'number' && obj%1 === 0 } isInteger('') // false isInteger('3') // false isInteger(true) // false isInteger([]) // false
Méthode 2, utilisez Math.round, Math.ceil et Math.floor pour déterminer si le
entier est toujours égal à lui-même après l'arrondi. Utilisez cette fonctionnalité pour déterminer s'il s'agit d'un exemple Math.floor, comme suit
function isInteger(obj) { return Math.floor(obj) === obj } isInteger(3) // true isInteger(3.3) // false isInteger('') // false isInteger('3') // false isInteger(true) // false isInteger([]) // false
Méthode 3. Déterminez via parseInt
function isInteger(obj) { return parseInt(obj, 10) === obj } isInteger(3) // true isInteger(3.3) // false isInteger('') // false isInteger('3') // false isInteger(true) // false isInteger([]) // false、 //很不错,但也有一个缺点 isInteger(1000000000000000000000) // false
La raison est que parseInt force l'analyse du premier paramètre. avant d'analyser la chaîne entière. Cette méthode de conversion de nombres en entiers n’est pas un bon choix.
Méthode 4 : Déterminer par des opérations sur les bits
function isInteger(obj) { return (obj | 0) === obj } isInteger(3) // true isInteger(3.3) // false isInteger('') // false isInteger('3') // false isInteger(true) // false isInteger([]) // false //这个函数很不错,效率还很高。但有个缺陷,上文提到过,位运算只能处理32位以内的数字,对于超过32位的无能为力 isInteger(Math.pow(2, 32)) // 32位以上的数字返回false了
Méthode 5 : ES6 fournit Number.isInteger
Number.isInteger(3) // true Number.isInteger(3.1) // false Number.isInteger('') // false Number.isInteger('3') // false Number.isInteger(true) // false Number.isInteger([]) // false
Actuellement, les derniers Firefox et Chrome le prennent déjà en charge.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!