Heim > Artikel > Web-Frontend > Zusammenfassung gängiger Methoden für JS-Arrays und -Strings
Ich habe mich kürzlich mit den Grundlagen von js beschäftigt, angefangen mit Arrays und Strings.
string Gängige Methoden:
1.substring (Start-Startpositionsindex, End-Endpositionsindex) Die abgefangene Position enthält nicht das Endpositionszeichen und es wird nur ein Parameter geschrieben, um das Abfangen anzuzeigen von der Startposition. Am Ende
var str='abcdefg'; str.substring(1) //得到bcdefg str.substring(1,3) //得到bc
wird bei der Eingabe eines negativen Werts der negative Wert auf 0 geändert, der kleinere Wert wird als Startposition verwendet
str.substing(-1,1) = >str.substring(0,1) //a
str.substring(1,-2) =>str.substring(0,1) / /a
2.slice(start Startpositionsindex, Endpositionsindex) ähnelt im Wesentlichen einem Teilstring, der Unterschied besteht darin, dass der Parameter eine negative Zahl ist.
var str='abcdefg'; str.slice(1) //bcdefg str.substring(1,3) // bc
Bei Eingabe eines negativen Werts wird der Wert zur Länge der Zeichenfolge addiert
str.slice(-1) =>str.slice( 6) / /g
str.slice(1,-2) =>str.slice(1,5) //bcde
str.slice(-2,-1)=>str.slice (5, 6) //Wenn der Absolutwert von f
größer als die Länge der Zeichenfolge ist, wird er zu 0
str.slice(-22) =>str.substring (0) //abcdefg
Wenn der absolute Wert des zweiten Parameters größer als die Länge der Zeichenfolge ist, geben Sie ''
3.substr (Start-Startpositionsindex, Ende der Zahl) zurück Anzahl der zurückzugebenden Zeichen)
var str='abcdefg'; str.substr(1) //bcdefg str.substr(1,1) //b
Wenn ein negativer Wert eingegeben wird, wird der Startparameter zur Länge der Zeichenfolge hinzugefügt. Wenn das Ende negativ ist, wird der Parameter zu 0
str.substr(-1) =>str.substr(6)//g str.substr(-2,-3) // ''
4.charAt(index)-Methode gibt das Zeichen an der angegebenen Indexposition zurück. Wenn der Indexwert den gültigen Bereich (0 und die Zeichenfolgenlänge minus eins) überschreitet, wird eine leere Zeichenfolge zurückgegeben
var str='abcdefg'; str.charAt(2) // c
5.index(string) Gibt das erste Vorkommen in zurück die Teilzeichenfolgenposition des String-Objekts. Wenn die Teilzeichenfolge nicht gefunden wird, wird -1 zurückgegeben.
var str='abcdefga' str.indexOf('a') // 0 str.indexOf('h') //-1
6.lastIndexOf(string) Flashback-Suche
Gibt die Position des ersten Teilstringvorkommens im String-Objekt zurück. Wenn die Teilzeichenfolge nicht gefunden wird, wird -1 zurückgegeben.
var str='abcdefga' str.lastIndexOf('a') // 7
7.split(str) Teilen Sie die Zeichenfolge mithilfe der Parameter
var in ein Array auf str='abcadeafg' str.split('a') //["", "bc", "de", "fg"]
8 Die toLowerCase-Methode gibt einen String zurück, in den Buchstaben umgewandelt werden in Kleinbuchstaben umwandeln.
9. Die toUpperCase-Methode gibt einen String zurück, in dem alle Buchstaben in Großbuchstaben umgewandelt werden.
10.match() – Methode kann einen angegebenen Wert innerhalb einer Zeichenfolge abrufen oder eine Übereinstimmung für einen oder mehrere reguläre Ausdrücke finden.
11.search-Methode gibt dasselbe zurück wie die Suche nach regulären Ausdrücken Position der ersten Zeichenfolge, deren Inhalt übereinstimmt.
12.replace wird verwendet, um eine Zeichenfolge zu finden, die einem regulären Ausdruck entspricht, und dann die Übereinstimmung durch eine neue Zeichenfolge zu ersetzen
http://www.cnblogs.com/bijiapo/p/ 5451924. html
Häufig verwendete Methoden für Arrays
1. push Add to the end Gibt das hinzugefügte Array zurück
2. unshift Add to the front Gibt das hinzugefügte Array zurück
3. Verschiebung Löschen (von vorne) Geben Sie das verarbeitete Array zurück
4. Pop Löschen Sie das letzte Element. Geben Sie das verarbeitete Array zurück
5 🎜>
6. Join Konvertieren Sie das Array in einen Stringvar arr=[1,2,3,4,5], str=arr.join('--'); console.log(str); // 1--2--3--4--5 以join内的参数切割数组 console.log(arr); // [1,2,3,4,5] 原数组未变7. Fangen Sie das Array vom Anfang (Start) bis zum Ende (Ende) ab nicht enthalten)
Rückkehr zum neuen Array, das ursprüngliche Array bleibt unverändert
8. Concat-Array zusammengeführt
var arr=[1,2,3,4,5],new=arr.slice(2,4); console.log(new); // [3,4] console.log(arr); // [1,2,3,4,5]
9. ..) Splice-Array
(1). Ein Parameter fängt die negative Zahl von der Parameterposition ab und füllt sie aus, ähnlich wie beim obigen str-Slice. Gibt das abgefangene Array zurück und das ursprüngliche Array ändert sich
var arr=[1,2,3,4,5]; console.log(arr.splice(1)); // [2,3,4,5] console.log(arr); // [1] console.lgo(arr.splice(-1)) // [5]
(2).Zwei Parameter des Abfangens (Startposition, Nummer) geben die ursprüngliche Array-Änderung des abgefangenen Arrays zurück
var arr=[1,2,3,4,5]; console.log(arr.splice(1,3)); // [2,3,4] console.log(arr) // [1,5] arr.splice(0,1) =>arr.shift() arr.splcie(arr.length-1,1) =>arr.pop()
(3).Erhöhung des ursprünglichen Arrays hinzufügen
var arr=[1,2,3,4,5]; console.log(arr.splice(1,0,13)); // [] console.log(arr); // [1,13,2,3,4,5]
(4). Ersetzen Sie
var arr=[1,2,3,4,5]; console.log(arr.splice(1,2,'a','b')) // [2,3] console.log(arr); // [1,'a','b',4,5] arr.splice(0,0,1) =>arr.unshift(1); arr.splice(arr.length,0,1) => arr.push(1)
10. arr.forEach(item,index,array){} Durchlauf, Schleife ähnlich wie jquery every
Der item-Parameter ist der Inhalt im Array, index ist sein Index und array stellt das Array selbst dar
var arr=[1,2,3,4,5]; arr.forEach(function(item,index,array){ })
Beim Herausspringen aus verschachtelten Schleifen treten Probleme auf , es gibt vorerst keine Lösung;
11. Kartenmethode Die Zuordnungsverwendung ist ähnlich wie bei forEach
var men=[ {'name':1,'age':12}, {'name':2,'age':22}, {'name':3,'age':33} ], age=men.map(function(item){ return item.age; })
12. arr.sort-Sortierung
var arr=[1,2,22,11,33,3,5,4]; console.log(arr.sort()) // [1,11,2,22,3,33,4,5]
Standardmäßig sortiert die Sortiermethode nach alphabetischer ASCII-Reihenfolge und nicht nach numerischer Reihenfolge, wie wir denken
arr.sort(function(a,b){ return a-b})
a-b从小到大 b-a从大到小
13. 顺便写写我知道的排序方法
(1)冒泡排序 每次比较相邻的两个数,如果后一个数比前一个数小,换位置
function bSort(arr){ var tmp; for(var i=0,len=arr.length-1;i<len;i++){ for(var j=0;j<len;j++){ if(arr[j]>arr[j+1]){ //换位置 tmp=arr[j+1]; arr[j+1]=arr[j]; arr[j]=tmp; } } } return arr; } function bSort(arr){ var tmp; arr.forEach(function(item,i){ arr.forEach(function(item,i){ if(item>arr[i+1]){ //换位置 tmp = arr[i + 1]; arr[i + 1] = arr[i]; arr[i] = tmp; } }) }) return arr }
(2)快速排序 二分法,找到中间的数,取出来(新数组),原数组没,每次和此数比较,小的放到左边,大的放到右面
function fastSoft(arr){ var len=arr.length; if(len<=1){ return arr} var cIndex=Math.floor(len/2), c=arr.splice(c,1), left=[], right=[]; arr.forEach(function(item,i){ if(item<c[0]){ left.push(item); }else{ right.push(item); } }) return fastSoft(left).concat(c,fastSoft(right)); }
14. 数组的去重也写下吧
(1)双层循环不是很好
var arr=[2,3,2,2,2,4,5], arr2=[]; function find(arr2,ele){ for(var i= 0,len=arr2.length;i<len;i++){ if(arr2[i]==ele) return true; } return false; } for(var i= 0,len=arr.length;i<len;i++){ if(!find(arr2,arr[i])){ arr2.push(arr[i]); } }
(2)利用json的key值无重复
var arr=[2,3,2,2,2,4,5], json={}, arr2=[]; arr.forEach(function(item,i){ if(!json[item]){ json[item]=222; } }); for(var name in json){ arr2.push(Number(name));//类型发生变化了 }
(3) 利用sort方法排序,去掉旁边相同项
var arr=[2,3,2,4,4,4,5], arr2=[]; arr.sort(); for(var i=0;i<arr.length;i++){ if(arr[i]==arr[i+1]){ arr.splice(i--,1); } }
一些常见数学方法
math.abs() 取绝对值 math.ceil() 向上取整 math.floor() 向下取整 math.round() 四舍五入 math.roundom function getRan(n,m){ return Math.floor(Math.random()*(m-n)+n); }
数组和字符串的一些综合应用
1. 截取后缀名
(1) var str='1.xxx.avi';
str=str.substring(str.lastIndexOf('.')+1);
(2) var str='1.xxx.avi';
var arr=str.split('.'); console.log(arr[arr.length-1]);
2.字母翻转,首字母大写
var str='wo shi yi ge demo', arr=str.split(' '); for(var i=0;i<arr.length;i++){ console.log() arr[i]=arr[i].charAt(0).toUpperCase()+arr[i].substring(1); } arr.reverse(); str=arr.join(' ');
3. str中字符出现次数的统计
var str='aaaandkdffsfsdfsfssq12345', json={}, n= 0, sName; for(var i= 0,len=str.length;i<len;i++){ var Letter=str.charAt(i); //统计次数 if(json[Letter]){ json[Letter]++; }else{ json[Letter]=1; } } //找最大 for(var name in json){ if(json[name]>n){ n=json[name]; sName=name; } } console.log('出现最多的字母'+sName+'次数为'+n);
4. 简单的url参数解析
function getData() { var search = window.location.search.substring(1); if (!search) { return; } var arr = search.split('&'), arr2 = [], json = {}, key, alue; for (var i = 0; i < arr.length; i++) { arr2 = arr[i].split('='); key = arr2[0]; value = arr2[1]; json[key] = value; } return json; }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持PHP中文网!
更多js数组与字符串常用方法总结相关文章请关注PHP中文网!