Maison  >  Article  >  interface Web  >  Fonction JavaScript Array-String-Math

Fonction JavaScript Array-String-Math

php中世界最好的语言
php中世界最好的语言original
2018-03-08 15:24:291789parcourir

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)

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);

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>

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)

É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

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

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

arr = ["a", 1,3,5, "b", 2];
newarr = filterNumeric(arr);  //   [1,3,5,2]

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
}

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)

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;)  // 不变

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;)  // 不变

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;

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;

Que produit le code suivant ? Pourquoi ?

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

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]

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]

É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 ]

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))

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))

É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的整数

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)

String

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

ucFirst("hunger") == "Hunger"

Code :

function ucFirst(string){
return string[0].toUpperCase()+string.slice(1);
}
console.log(ucFirst("hunger"))
ucFirst("hunger") == "Hunger"

É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"

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"

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

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))

É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))

É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))
É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))
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!

Déclaration:
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
Article précédent:Fermetures et minuteries JSArticle suivant:Fermetures et minuteries JS