JavaScript-Array-String-Math-Funktion

php中世界最好的语言
Freigeben: 2018-03-08 15:24:29
Original
1789 Leute haben es durchsucht

Dieses Mal bringe ich Ihnen JavaScript-Array-String-Mathematische Funktion, Was sind die Vorsichtsmaßnahmen bei der Verwendung von JavaScriptArray-String-Mathematische Funktion? Folgendes ist ein praktischer Fall, werfen wir einen Blick darauf.

Welche Funktionen haben Push, Pop, Shift, Unshift, Join und Split in der Array-Methode?
Die push()-Methode fügt ein oder mehrere Elemente am Ende des Arrays hinzu und gibt die neue Länge des Arrays (Längenattributwert) zurück.
Die Methode pop() löscht das letzte Element in einem Array und gibt dieses Element zurück.
Die Methode „shift()“ löscht das erste Element des Arrays und gibt dieses Element zurück. Diese Methode ändert die Länge des Arrays.
Die Methode unshift() fügt ein oder mehrere Elemente am Anfang des Arrays hinzu und gibt den neuen Längenwert des Arrays zurück.
Die Methode join() fügt alle Elemente im Array zu einem String zusammen.
**split() **Die Methode teilt ein String-Objekt in ein String-Array auf, indem sie den String in Teilstrings aufteilt.

Codefrage

Array

Verwenden Sie Splice, um Push-, Pop-, Shift- und Unshift-Methoden zu implementieren.
Definition und Verwendung
Die Methode splice() wird verwendet Einfügen und Löschen oder Ersetzen von Elementen eines Arrays.
Syntax

arrayObject.splice(index,howmany,element1,.....,elementX)
Nach dem Login kopieren

Parameterbeschreibung
Index Erforderlich. Gibt an, wo Elemente hinzugefügt/entfernt werden sollen. Dieser Parameter ist der Index des Array-Elements, dessen Einfügen und/oder Löschen begonnen werden soll, und muss eine Zahl sein.
Wie viele sind erforderlich? Gibt an, wie viele Elemente entfernt werden sollen. Muss eine Zahl sein, kann aber „0“ sein. Wenn dieser Parameter nicht angegeben wird, werden alle Elemente vom Index bis zum Ende des ursprünglichen Arrays gelöscht. element1 optional. Gibt das neue Element an, das dem Array hinzugefügt werden soll. Beginnen Sie mit dem Einfügen ab dem Index, auf den der Index zeigt.
elementX Optional. Dem Array können mehrere Elemente hinzugefügt werden.
Rückgabewert
Wenn ein Element aus arrayObject gelöscht wird, wird das Array zurückgegeben, das das gelöschte Element enthält.

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);
Nach dem Login kopieren

Verwenden Sie ein Array, um die folgende Zeichenfolge zu verbinden

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>
Nach dem Login kopieren

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)
Nach dem Login kopieren

Schreiben Sie eine Suchfunktion, um die zu implementieren folgende Funktion

var arr = [ "test", 2, 1.5, false ]
find(arr, "test") // 0
find(arr, 2) // 1
find(arr, 0) // -1
Nach dem Login kopieren

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
Nach dem Login kopieren

Schreiben Sie einen FunktionsfilterNumeric, um die folgenden Funktionen zu implementieren

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

Code :
Methode eins:

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
}
Nach dem Login kopieren

newarr = filterNumberic(arr); // [1,3,5,2]
console.log(newarr)
Methode zwei:

arr = ["a", 1,3,5, "b", 2];
function isNumber(element) {
return typeof element === &#39;number&#39;;
}
var newarr = arr.filter(isNumber)
console.log(newarr)
Nach dem Login kopieren

Das Objekt obj verfügt über ein className-Attribut und der darin enthaltene Wert ist eine durch Leerzeichen getrennte Zeichenfolge (ähnlich der Klassenfunktion des HTML-Elements). Schreiben Sie die Funktionen addClass und removeClass , die die folgenden Funktionen haben:

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;)  // 不变
Nach dem Login kopieren

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;)  // 不变
Nach dem Login kopieren

Schreiben Sie eine Camelize-Funktion, um einen String in die Form my-short-string umzuwandeln in eine Zeichenfolge in Form von myShortString umwandeln, z. B.:

camelize("background-color") == &#39;backgroundColor&#39;
camelize("list-style-image") == &#39;listStyleImage&#39;
Nach dem Login kopieren

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;
Nach dem Login kopieren

Was gibt der folgende Code aus? Warum?

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

Weil arr.push( function() { Alert(console.log('hello hunger Valley')) } );change function() { Alert(console.log( 'Hallo Hunger Valley') Push bis zum letzten Bit von arr[], arr[arr.length-1]() nimmt das letzte Bit des Arrays und führt dann die Funktion sofort aus, weil function() { alarm(console. log('console.log in hello hunger Valley') darf nur in der Konsole geöffnet werden, daher ist das Ergebnis undefiniert

Schreiben Sie eine Funktion filterNumericInPlace, um die Zahlen im Array zu filtern und zu löschen Nicht-Ziffern

Code:
arr = ["a", 1,3,4,5, "b", 2];
//对原数组进行操作,不需要返回值
filterNumericInPlace(arr);
console.log(arr)  // [1,3,4,5,2]
Nach dem Login kopieren


Schreiben Sie eine ageSort-Funktion, um die folgenden Funktionen zu implementieren:
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]
Nach dem Login kopieren


Code:
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 ]
Nach dem Login kopieren
Methode 1:



Methode 2:
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))
Nach dem Login kopieren


Schreiben Sie eine Filterfunktion (arr, func), um das Array zu filtern , akzeptiert zwei Parameter, der erste ist das zu verarbeitende Array, der zweite Parameter ist die
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))
Nach dem Login kopieren
Rückruffunktion

(die Rückruffunktion durchläuft und akzeptiert jedes Array-Element, behält das Element bei, wenn die Funktion true zurückgibt, andernfalls löscht es das Element), um die folgenden Funktionen zu implementieren:

Code:
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的整数
Nach dem Login kopieren


String
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)
Nach dem Login kopieren

Schreiben Sie eine ucFirst-Funktion, die das Zeichen zurückgibt, dessen Der erste Buchstabe ist ein Großbuchstabe

Code:

ucFirst("hunger") == "Hunger"
Nach dem Login kopieren

Schreiben Sie eine Funktion truncate(str, maxlength). , str wird auf maximale Länge gekürzt und hinzugefügt Schreiben Sie eine Funktion limit2, behalten Sie zwei Nachkommastellen bei und runden Sie sie ab, z Zufallszahl von min bis max, einschließlich min, aber ohne max >Code:

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

Schreiben Sie eine Funktion, um ein Zufallsarray zu erhalten. Die Elemente im Array sind Zufallszahlen mit der Länge len, dem Mindestwert und dem Maximalwert (einschließlich).
Code:

truncate("hello, this is hunger valley,", 10)) == "hello, thi...";
truncate("hello world", 20)) == "hello world"
Nach dem Login kopieren


Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

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"
Nach dem Login kopieren
Verwandte Lektüre:

JS-Schließungen und -Timer

var num1 = 3.456
limit2( num1 );  //3.46
limit2( 2.42 );    //2.42
Nach dem Login kopieren


JS Dom- und Veranstaltungszusammenfassung

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))
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonJavaScript-Array-String-Math-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage