經常在開發中,會使用到不少js數組和字符串的處理方法,這裏列舉一些我經常使用到的一些,方便你們參考使用。javascript
push:向數組尾部增長內容,返回的是新數組的長度。html
var arr = [1,2,3]; console.log(arr); var b = arr.push(4); console.log(b); console.log(arr); // [1, 2, 3] // 4 //表示當前數組長度 // [1, 2, 3, 4]
與之相反的是pop, 在結尾刪除一個值,並返回刪除的值。java
var arr = [1,2,3]; console.log(arr); arr.pop(); console.log(arr); // [1,2,3] //[1,2]
unshift :向數組開頭增長內容,返回新數組的長度。數組
var c = arr.unshift(-1,0); console.log(arr); // [-1, 0, 1, 2, 3]
與之相反的是shift,在開頭刪除一個值,並返回刪除的值。spa
var d = arr.shift(); console.log(d); console.log(arr); // 1 // [2, 3]
toString:數組轉化成字符串,原來的數組不變。code
console.log(arr); arr = arr.toString(); console.log(arr); // [1,2,3] //'1,2,3' 而不是'123'
concat:數組的拼接,參數能夠是數組也能夠一個接一個,原來的數組不變。htm
var arr = [1,2,3]; var b = arr.concat([1,2,3]); console.log(b); //[1,2,3,1,2,3]
join:(分隔符),每一項拿出來用指定的分隔符分開,不帶參數默認爲",",原來的數組不變。blog
var arr = [1,2,3]; var b = arr.join(""); console.log(b); //"123"
splice 和 slice
splice(x,y,z) 從x開始清除長度爲y的元素,並用z替換。z相似於item1, ..., itemX這樣。原來的數組改變。排序
var arr = [1,2,3]; arr.splice(0,1,""); console.log(arr); // '["",2,3]'
當不寫第三個數的時候,至關於刪除功能!當第二個爲0時,至關於添加功能!教程
詳解
刪除時,兩個參數,第一個是開始位置,第二個是刪除長度。
插入時,三個參數,第一個是插入位置(在以前插入),第二個是0,第三個是插入的內容。
替換時,三個參數,第一個是開始位置,第二個是刪除長度,第三個是替換的內容
slice(x,y) :從x到y(不包括),並把新的內容做爲新的數組返回。原來的數組不變。
var b = arr.slice(0,1); // [1]
reverse: 將原來的數組倒過來排序,原來的數組改變。
var arr = [1,2,3]; arr.reverse(); console.log(arr); // [3,2,1]
sort:排序,能夠實現由小到大,由大到小。基本的只能處理10之內,要額外的處理。原來的數組改變。
var arr = [1,3,2,50,23]; arr.sort(function(a,b) {return a - b ;}); //從小到大 console.log(arr); // [1,2,3,23,50] // 更換a和b的順序,就是從大到小。 //也能夠這樣。 [{name:"張三",age:30},{name:"李四",age:24},{name:"王五",age:28}].sort(function(o1,o2){returno1.age-o2.age;}) // [{name: "李四",age: 24 },{name: "王五",age: 28},{name: "張三",age: 30 }]
再相似於forEach、filter、map、reduce等。
charAt: 返回字符串的給定位置的字符串。
var arr = 'abcdefg'; console.log(arr.length); console.log(arr.charAt(1)); console.log(arr[1]); // 7 // b // b
concat: 鏈接2個字符串。原來的不變。
var b = arr.concat("abc"); console.log(b); // "abcdefgcde"
substring、substr、slice 均可省略第二個參數,表示持續到字符串結束。
substring(x,y) 返回從x到y(不包括y) 位置顛倒時,互換。
var s = arr.substring(1,3); console.log(s); // "bc"
substr(x,y) 返回從x開始的長度爲y的字符串
var s = arr.substr(1,3); console.log(s); // "bcd"
slice(x,y) 返回從x到y(不包括y) 位置顛倒時,結果爲空字符串
var s = arr.slice(1,3); console.log(s); var s = arr.slice(3,1); console.log(s); // bc // ""
trim : 去除兩端的空格,不影響以前的字符串
var arr = ' abcdefg '; var a = arr.trim(); console.log(a); //abcdefg
半角全角空格、中英文空格、tab鍵一招根除。
toLowerCase 、toUpperCase :轉爲大小寫,原來的不變。
var b = arr.toUpperCase(); console.log(b); //"ABCDEFG"
indexOf、lastIndexOf,肯定一個字符串在另外一個字符串中的第一次出現的位置,一個從頭部開始,一個從尾部開始。
var arr = 'abccba'; var b = arr.indexOf('b'); console.log(b); // 1 var c = arr.lastIndexOf('c'); console.log(c); // 3
它們還能夠接受第二個參數,對於indexOf,表示從該位置開始向後匹配;對於lastIndexOf,表示從該位置起向前匹配。
split 將separate做爲切割字符,結果存在一個字符串中。
var arr = 'a b c c b a'; var b = arr.split(' '); console.log(b); // ["a", "b", "c", "c", "b", "a"]
爲空時,至關於字符串轉爲了數組。
數字:toFixed() 保留小數,結果是字符串類型的!!。
var a = 1.1212; console.log(a.toFixed(2)); // 1.12
parseInt 和 parseFloat
var a = 024; console.log(parseInt(a,10)); // 24
字符串轉數字 parseInt
數字轉字符 toString or 數字 + ""