js實用篇之數組、字符串常用方法


常常在開發中,會使用到很多js數組和字符串的處理方法,這里列舉一些我常用到的一些,方便大家參考使用。

數組方面

  1. push:向數組尾部增加內容,返回的是新數組的長度。
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, 在結尾刪除一個值,並返回刪除的值。

var arr = [1,2,3];
console.log(arr);
arr.pop();
console.log(arr);
// [1,2,3]
 //[1,2]
  1. unshift :向數組開頭增加內容,返回新數組的長度。
var c = arr.unshift(-1,0);
console.log(arr);
// [-1, 0, 1, 2, 3]

與之相反的是shift,在開頭刪除一個值,並返回刪除的值。

var d = arr.shift();
console.log(d);
console.log(arr);
// 1
// [2, 3]
  1. toString:數組轉化成字符串,原來的數組不變。
console.log(arr);
arr = arr.toString();
console.log(arr);
// [1,2,3]
 //'1,2,3' 而不是'123'
  1. concat:數組的拼接,參數可以是數組也可以一個接一個,原來的數組不變。
var arr = [1,2,3];
var b = arr.concat([1,2,3]);
console.log(b);
//[1,2,3,1,2,3]

concat

  1. join:(分隔符),每一項拿出來用指定的分隔符分開,不帶參數默認為",",原來的數組不變。
var arr = [1,2,3];
var b = arr.join("");
console.log(b);
//"123"
  1. spliceslice
    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]
  1. reverse: 將原來的數組倒過來排序,原來的數組改變。
var arr = [1,2,3];
arr.reverse();
console.log(arr);
// [3,2,1]
  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 }]           
  1. 再類似於forEach、filter、map、reduce等。

字符串

  1. charAt: 返回字符串的給定位置的字符串。
var arr = 'abcdefg';
console.log(arr.length);
console.log(arr.charAt(1));
console.log(arr[1]);
// 7
// b
// b
  1. concat: 連接2個字符串。原來的不變。
var b = arr.concat("abc");
console.log(b);
// "abcdefgcde"
  1. 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
//  ""
  1. trim : 去除兩端的空格,不影響之前的字符串
var arr = '  abcdefg     ';
var a = arr.trim();
console.log(a);
//abcdefg

半角全角空格、中英文空格、tab鍵一招根除。
5. toLowerCase 、toUpperCase :轉為大小寫,原來的不變。

var b = arr.toUpperCase();
console.log(b);
//"ABCDEFG"
  1. 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,表示從該位置起向前匹配。
7. 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 數字 + ""

參考鏈接: 阮一峰的JavaScript 標准參考教程(alpha)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM