Maison > interface Web > tutoriel HTML > Fonction JavaScript Array-String-Math

Fonction JavaScript Array-String-Math

php中世界最好的语言
Libérer: 2018-03-08 15:24:29
original
1829 Les gens l'ont consulté

Cette fois, je vous présente Tableau JavaScript-fonction mathématique de chaîne, quelles sont les précautions lors de l'utilisation de JavaScriptfonction mathématique de chaîne de tableau, ce qui suit est un cas pratique, jetons un coup d'oeil.

Quelles sont les fonctions de push, pop, shift, unshift, join et split dans la méthode array.
La méthode push() ajoute un ou plusieurs éléments à la fin du tableau et renvoie la nouvelle longueur du tableau (valeur de l'attribut length).
La méthode pop() supprime le dernier élément d'un tableau et renvoie cet élément.
La méthode shift() supprime le premier élément du tableau et renvoie cet élément. Cette méthode modifie la longueur du tableau.
La méthode unshift() ajoute un ou plusieurs éléments au début du tableau et renvoie la nouvelle valeur de longueur du tableau.
La méthode join() joint tous les éléments du tableau en une chaîne.
**split() **La méthode divise un objet String en un tableau de chaînes en divisant la chaîne en sous-chaînes.

Question de code

Array

Utiliser splice pour implémenter les méthodes push, pop, shift et unshift
Définition et utilisation
La méthode splice() est utilisée pour insertion et suppression Ou remplacer des éléments d'un tableau.
Syntaxe

arrayObject.splice(index,howmany,element1,.....,elementX)
Copier après la connexion

Description du paramètre
index Obligatoire. Spécifie où ajouter/supprimer des éléments. Ce paramètre est l'index de l'élément du tableau à commencer à insérer et/ou à supprimer, et doit être un nombre.
combien sont nécessaires. Spécifie combien d'éléments doivent être supprimés. Doit être un nombre, mais peut être « 0 ». Si ce paramètre n'est pas spécifié, tous les éléments commençant par l'index jusqu'à la fin du tableau d'origine sont supprimés. element1 facultatif. Spécifie le nouvel élément à ajouter au tableau. Commencez l'insertion à partir de l'index pointé par index.
elementX Facultatif. Plusieurs éléments peuvent être ajoutés au tableau.
Valeur de retour
Si un élément est supprimé de arrayObject, le tableau contenant l'élément supprimé est renvoyé.

splice->push
var a = [1,2,3,4,5]
var b = [1,2,3,4,5]
console.log(a);
console.log(b);
a.push(6);
b.splice(5,1,6);
console.log(a);
console.log(b);
splice->pop
var a = [1,2,3,4,5]
var b = [1,2,3,4,5]
console.log(a);
console.log(b);
a.pop();
b.splice(4,1);
console.log(a);
console.log(b);
splice->shift
var a = [1,2,3,4,5]
var b = [1,2,3,4,5]
console.log(a);
console.log(b);
a.shift();
b.splice(0,1);
console.log(a);
console.log(b);
splice->unshift
var a = [1,2,3,4,5]
var b = [1,2,3,4,5]
console.log(a);
console.log(b);
a.unshift(-1);
b.splice(0,0,-1);
console.log(a);
console.log(b);
Copier après la connexion

Utilisez un tableau pour épisser la chaîne suivante

var prod = {    name: '女装',    styles: ['短款', '冬季', '春装']
};function getTpl(data){//todo...};var result = getTplStr(prod);  //result为下面的字符串
    <dl class="product">
        <dt>女装</dt>
        <dd>短款</dd>
        <dd>冬季</dd>
        <dd>春装</dd>
    </dl>
Copier après la connexion

Code :

var prod = {
name: &#39;女装&#39;,
styles: [&#39;短款&#39;, &#39;冬季&#39;, &#39;春装&#39;]
};
function getTplStr(data){
var htmls = [];
htmls.push(&#39;<dl class="product">&#39;,&#39;<dt>&#39;+data,name+&#39;<dt>&#39;);
for(i=0;i<data.styles.length;i++){
htmls.push(&#39;<dd>&#39;+data.styles[i]+&#39;<dd>&#39;)
}
htmls.push(&#39;<dl>&#39;);
var htmls = htmls.join(&#39;&#39;)
return htmls
};
var result = getTplStr(prod);  //result为下面的字符串
console.log(result)
Copier après la connexion

Écrivez une fonction de recherche pour implémenter la Fonction suivante

var arr = [ "test", 2, 1.5, false ]
find(arr, "test") // 0
find(arr, 2) // 1
find(arr, 0) // -1
Copier après la connexion

Code :

var arr = [ "test", 2, 1.5, false ]
var find = function(a,b){
console.log(a.indexOf(b))
}
find(arr, "test") // 0
find(arr, 2) // 1
find(arr, 0) // -1
Copier après la connexion

Écrire une fonction filterNumeric pour implémenter les fonctions suivantes

arr = ["a", 1,3,5, "b", 2];
newarr = filterNumeric(arr);  //   [1,3,5,2]
Copier après la connexion

Code :
Première méthode :

arr = ["a", 1,3,5, "b", 2];
var filterNumberic = function(data){
var a = [];
for(i=0;i<data.length;i++){
if(typeof data[i] === &#39;number&#39;){
a.push(data[i]);
}
}
return a
}
Copier après la connexion

newarr = filterNumberic(arr); // [1,3,5,2]
console.log(newarr)
Méthode deux :

arr = ["a", 1,3,5, "b", 2];
function isNumber(element) {
return typeof element === &#39;number&#39;;
}
var newarr = arr.filter(isNumber)
console.log(newarr)
Copier après la connexion

L'objet obj a un attribut className et la valeur à l'intérieur est une chaîne séparée par des espaces (similaire à la fonctionnalité de classe de l'élément html). , qui ont les fonctions suivantes :

var obj = {className: &#39;open menu&#39;}addClass(obj, &#39;new&#39;) // obj.className=&#39;open menu new&#39;addClass(obj, &#39;open&#39;)  // 因为open已经存在,此操作无任何办法addClass(obj, &#39;me&#39;) // obj.className=&#39;open menu new me&#39;console.log(obj.className)  // "open menu new me"
 removeClass(obj, &#39;open&#39;) // obj.className=&#39;menu new me&#39;  removeClass(obj, &#39;blabla&#39;)  // 不变
Copier après la connexion

Code :

var obj = {className: &#39;open menu&#39;}var addClass = function(a,b){var name = a.className.split(" ");if(name.indexOf(b) === -1) {name.push(b);}else{console.log("因为"+b+"已经存在,此操作无任何办法");}a.className = name.join(" ");console.log(&#39;obj.className=&#39;+a.className);}var removeClass = function(a,b){var name = a.className.split(" ");if(name.indexOf(b) !== -1){name.splice(name.indexOf(b),1)a.className = name.join(" ");console.log(&#39;obj.className=&#39;+a.className)}else{console.log(&#39;不变&#39;)}}
   addClass(obj, &#39;new&#39;) // obj.className=&#39;open menu new&#39;    addClass(obj, &#39;open&#39;)  // 因为open已经存在,此操作无任何办法    addClass(obj, &#39;me&#39;) // obj.className=&#39;open menu new me&#39;    console.log(obj.className)  // "open menu new me"    removeClass(obj, &#39;open&#39;) // obj.className=&#39;menu new me&#39;    removeClass(obj, &#39;blabla&#39;)  // 不变
Copier après la connexion

Ecrire une fonction camelize pour convertir une chaîne sous la forme de ma-chaîne-courte dans une chaîne sous la forme de myShortString, telle que :

camelize("background-color") == &#39;backgroundColor&#39;
camelize("list-style-image") == &#39;listStyleImage&#39;
Copier après la connexion

Code :

function camelize(string){
return string.replace(/-/g,'')
}
console.log(camelize("background-color"))
camelize("background-color") == &#39;backgroundColor&#39;
camelize("list-style-image") == &#39;listStyleImage&#39;
Copier après la connexion

Que produit le code suivant ? Pourquoi ?

arr = ["a", "b"];
arr.push( function() { alert(console.log(&#39;hello hunger valley&#39;)) } );
arrarr.length-1  // ?
Copier après la connexion

Parce que arr.push( function() { alert(console.log('hello faim vallée')) } );change function() { alert(console.log( 'bonjour la vallée de la faim') poussez jusqu'au dernier bit de arr[], arr[arr.length-1]() prend le dernier bit du tableau, puis exécute la fonction immédiatement, car function() { alert(console. log(' console.log in hello faim Valley') ne peut être ouvert que dans la console, donc le résultat n'est pas défini

Écrivez une fonction filterNumericInPlace pour filtrer les nombres dans le tableau et supprimer. non-numéros

arr = ["a", 1,3,4,5, "b", 2];
//对原数组进行操作,不需要返回值
filterNumericInPlace(arr);
console.log(arr)  // [1,3,4,5,2]
Copier après la connexion

Code :

arr = ["a","d", 1,3,4,5, "b", 2];
//对原数组进行操作,不需要返回值
function filterNumericInPlace(data){
for(i=0;i<data.length;i++){
if(typeof data[i] === &#39;string&#39;){
data.splice(i,1);
i--;//splice指针减少1,否则获取不了数组中全部元素。
}
}
}
filterNumericInPlace(arr);
console.log(arr)  // [1,3,4,5,2]
Copier après la connexion

Écrivez une fonction ageSort pour implémenter les fonctions suivantes :

var john = { name: "John Smith", age: 23 }
var mary = { name: "Mary Key", age: 18 }
var bob = { name: "Bob-small", age: 6 }
var people = [ john, mary, bob ]
ageSort(people) // [ bob, mary, john ]
Copier après la connexion

Code :
Méthode 1 :

function ageSort(arr){
arr.sort(function(a,b){return a.age-b.age})
return arr
}
var john = { name: "John Smith", age: 23 }
var mary = { name: "Mary Key", age: 18 }
var bob = { name: "Bob-small", age: 6 }
var people = [ john, mary, bob ]
ageSort(people) // [ bob, mary, john ]
console.log(ageSort(people))
Copier après la connexion

Méthode 2 :

function ageSort(a){
for(i=0;i0){
var b = a[i];
a[i] = a[j];
a[j] = b;
}
}
}
return a
}
var john = { name: "John Smith", age: 23 }
var mary = { name: "Mary Key", age: 18 }
var bob = { name: "Bob-small", age: 6 }
var people = [ john, mary, bob ]
ageSort(people) // [ bob, mary, john ]
console.log(ageSort(people))
Copier après la connexion

Écrire une fonction filter(arr, func) pour filtrer le tableau , en acceptant deux paramètres, le premier doit être traité Tableau, le deuxième paramètre est la fonction de rappel (la fonction de rappel parcourt et accepte chaque élément du tableau, conserve l'élément lorsque la fonction renvoie vrai, sinon supprime le element) pour implémenter les fonctions suivantes :

function isNumeric (el){return typeof el === &#39;number&#39;;}arr = ["a",3,4,true, -1, 2, "b"]
 arr = filter(arr, isNumeric) ; // arr = [3,4,-1, 2],  过滤出数字  arr = filter(arr, function(val) { return val > 0 });  // arr = [2] 过滤出大于0的整数
Copier après la connexion

Code:

function filter(data,callback){return data.filter(callback)}
   function isNumeric (el){        return typeof el === &#39;number&#39;;     }    arr = ["a",3,4,true, -1, 2, "b"]    arr = filter(arr, isNumeric) ; // arr = [3,4,-1, 2],  过滤出数字    console.log(arr)    arr = filter(arr, function(val) { return val > 0 });  // arr = [2] 过滤出大于0的整数    console.log(arr)
Copier après la connexion

String

Écrire une fonction ucFirst qui renvoie le caractère dont la première lettre est en majuscule

ucFirst("hunger") == "Hunger"
Copier après la connexion

Code :

function ucFirst(string){
return string[0].toUpperCase()+string.slice(1);
}
console.log(ucFirst("hunger"))
ucFirst("hunger") == "Hunger"
Copier après la connexion

Écrivez une fonction tronquer(str, maxlength) Si la longueur de str est supérieure à maxlength. , str sera tronqué à maxlength et ajouté..., tel que :

truncate("hello, this is hunger valley,", 10)) == "hello, thi...";
truncate("hello world", 20)) == "hello world"
Copier après la connexion

Code :

function truncate(str,maxlength){
if(str.length>maxlength){
var sub = str.substring(maxlength)
str =  str.replace(sub,&#39;...&#39;);
} return str;
}
console.log(truncate("hello, this is hunger valley,", 10));
truncate("hello, this is hunger valley,", 10) == "hello, thi...";
truncate("hello world", 20) == "hello world"
Copier après la connexion

Fonction mathématique

Écrivez une fonction limite2, en conservant deux chiffres après la virgule décimale, Arrondi, tel que :

var num1 = 3.456
limit2( num1 );  //3.46
limit2( 2.42 );    //2.42
Copier après la connexion

Code :

var num1 = 3.456
function limit2(data){
var num = Math.round(data*100);
return num/100
}
limit2( num1 );  //3.46
limit2( 2.42 );    //2.42
console.log(limit2(num1));
console.log(limit2(2.42));
console.log(limit2(-1.15555555))
Copier après la connexion

Écrivez une fonction pour obtenir un nombre aléatoire de min à max, min compris mais excluant max
Code :

function fun(min,max){
return min+Math.random()*(max-min)
}
console.log(fun(5,10))
Copier après la connexion

Écrivez une fonction pour obtenir un entier aléatoire entre min et max, incluant min et max. >Code :

function fun(min,max){
return Math.Round(min+Math.random()*(max-min))
}
console.log(fun(5,10))
Copier après la connexion
Écrivez une fonction pour obtenir un tableau aléatoire. Les éléments du tableau sont des nombres aléatoires de longueur len, de valeur minimale min et de valeur maximale max (incluse).

Code :

function fun(min,max,leng){
var arr = []
for(i=0;i<leng;i++){
var value = max-Math.random()*(max-min)
arr.push(value)
}
return arr
}
console.log(fun(5,10,6))
Copier après la connexion
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture connexe :

Fermetures et minuteries JS

JS Dom et résumé de l'événement

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal