J'ai une ficelle et j'ai besoin de son premier caractère.
var x = 'somestring';
alert(x[0]); //in ie7 returns undefined
Comment puis-je réparer mon code?
Ce que vous voulez, c'est charAt
.
var x = 'some string';
alert(x.charAt(0)); // alerts 's'
En JavaScript, vous pouvez faire ceci:
alert(x.substring(0,1));
Vous pouvez utiliser n'importe lequel de ceux-ci.
Il y a une petite différence entre tous ceux-ciPour être prudent lors de son utilisation dans une instruction conditionnelle.
var string = "hello world";
console.log(string.slice(0,1)); //o/p:- h
console.log(string.charAt(0)); //o/p:- h
console.log(string.substring(0,1)); //o/p:- h
console.log(string.substr(0,1)); //o/p:- h
console.log(string[0]); //o/p:- h
var string = "";
console.log(string.slice(0,1)); //o/p:- (an empty string)
console.log(string.charAt(0)); //o/p:- (an empty string)
console.log(string.substring(0,1)); //o/p:- (an empty string)
console.log(string.substr(0,1)); //o/p:- (an empty string)
console.log(string[0]); //o/p:- undefined
xsubstring (0,1)
var x = "somestring"
alert(x.charAt(0));
La méthode charAt () vous permet de spécifier la position du caractère souhaité.
Ce que vous essayiez de faire, c'est d'obtenir le caractère à la position d'un tableau "x", qui n'est pas défini car X n'est pas un tableau.
Vous pouvez même utiliser slice
pour couper tous les autres caractères:
x.slice(0, 1);
Exemple de toute méthode
Premier : string.charAt(index)
Retourne le caract à l'index
index
var str = "Stack overflow";
console.time("charat");
console.log(str.charAt(0));
console.timeEnd("charat");
Deuxième : string.substring(start,length);
Retourne la sous-chaîne de la chaîne qui commence à l'index
start
et s'arrête après la longueurlength
Ici, vous ne voulez que le premier caract so: start = 0
et length = 1
var str = "Stack overflow";
console.time("substring");
console.log(str.substring(0,1));
console.timeEnd("substring");
Alternative : string[index]
Une chaîne est un tableau de caract. Ainsi, vous pouvez obtenir le premier caractère comme la première cellule d'un tableau.
Retourne le caract à l'index
index
de la chaîne
var str = "Stack overflow";
console.time("array");
console.log(str[0]);
console.timeEnd("array");
Essayez ceci aussi:
x.substr(0, 1);
var str="stack overflow";
firstChar = str.charAt(0);
secondChar = str.charAt(1);
Testé dans IE6 + ,FF, Chrome , safari .
Méthode simple serait
const z ="sdsdsd"
console.log(z[0]) // 's'
et utiliser des polyfills
dans Nodejs, vous pouvez utiliser Buffer:
let str = "hello world"
let buffer = Buffer.alloc(2, str) // replace 2 by 1 for the first char
console.log(buffer.toString('utf-8')) // display he
console.log(buffer.toString('utf-8').length) // display 2
dans JQuery, vous pouvez utiliser: en classe pour l'option de sélection:
$('.className').each(function(){
className.Push($("option:selected",this).val().substr(1));
});
en classe pour le texte Valeur:
$('.className').each(function(){
className.Push($(this).val().substr(1));
});
en ID pour le texte Valeur:
$("#id").val().substr(1)