成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

js實(shí)用篇之?dāng)?shù)組、字符串常用方法

xiaoxiaozi / 2182人閱讀

摘要:常常在開發(fā)中,會使用到很多數(shù)組和字符串的處理方法,這里列舉一些我常用到的一些,方便大家參考使用。數(shù)組轉(zhuǎn)化成字符串,原來的數(shù)組不變。將作為切割字符,結(jié)果存在一個字符串中。補(bǔ)充數(shù)字保留小數(shù),結(jié)果是字符串類型的。

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

數(shù)組方面

push:向數(shù)組尾部增加內(nèi)容,返回的是新數(shù)組的長度。

var arr = [1,2,3];
console.log(arr);
var b = arr.push(4);
console.log(b);
console.log(arr);
//  [1, 2, 3]
//  4   //表示當(dāng)前數(shù)組長度
// [1, 2, 3, 4]

與之相反的是pop, 在結(jié)尾刪除一個值,并返回刪除的值。

var arr = [1,2,3];
console.log(arr);
arr.pop();
console.log(arr);
// [1,2,3]
 //[1,2]

unshift :向數(shù)組開頭增加內(nèi)容,返回新數(shù)組的長度。

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]

toString:數(shù)組轉(zhuǎn)化成字符串,原來的數(shù)組不變。

console.log(arr);
arr = arr.toString();
console.log(arr);
// [1,2,3]
 //"1,2,3" 而不是"123"

concat:數(shù)組的拼接,參數(shù)可以是數(shù)組也可以一個接一個,原來的數(shù)組不變。

var arr = [1,2,3];
var b = arr.concat([1,2,3]);
console.log(b);
//[1,2,3,1,2,3]

join:(分隔符),每一項(xiàng)拿出來用指定的分隔符分開,不帶參數(shù)默認(rèn)為",",原來的數(shù)組不變。

var arr = [1,2,3];
var b = arr.join("");
console.log(b);
//"123"

spliceslice
splice(x,y,z) 從x開始清除長度為y的元素,并用z替換。z類似于item1, ..., itemX這樣。原來的數(shù)組改變。

var arr = [1,2,3];
arr.splice(0,1,"");
console.log(arr);
// "["",2,3]"

當(dāng)不寫第三個數(shù)的時候,相當(dāng)于刪除功能!當(dāng)?shù)诙€為0時,相當(dāng)于添加功能!

詳解

刪除時,兩個參數(shù),第一個是開始位置,第二個是刪除長度。

插入時,三個參數(shù),第一個是插入位置(在之前插入),第二個是0,第三個是插入的內(nèi)容。

替換時,三個參數(shù),第一個是開始位置,第二個是刪除長度,第三個是替換的內(nèi)容
slice(x,y) :從x到y(tǒng)(不包括),并把新的內(nèi)容作為新的數(shù)組返回。原來的數(shù)組不變。

var b = arr.slice(0,1);
// [1]

reverse: 將原來的數(shù)組倒過來排序,原來的數(shù)組改變。

var arr = [1,2,3];
arr.reverse();
console.log(arr);
// [3,2,1]

sort:排序,可以實(shí)現(xiàn)由小到大,由大到小。基本的只能處理10以內(nèi),要額外的處理。原來的數(shù)組改變。

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 都可省略第二個參數(shù),表示持續(xù)到字符串結(jié)束。
substring(x,y) 返回從x到y(tǒng)(不包括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(tǒng)(不包括y) 位置顛倒時,結(jié)果為空字符串

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 :轉(zhuǎn)為大小寫,原來的不變。

var b = arr.toUpperCase();
console.log(b);
//"ABCDEFG"

indexOf、lastIndexOf,確定一個字符串在另一個字符串中的第一次出現(xiàn)的位置,一個從頭部開始,一個從尾部開始。

var arr = "abccba";
var b = arr.indexOf("b");
console.log(b);
// 1
var c = arr.lastIndexOf("c");
console.log(c);
// 3

它們還可以接受第二個參數(shù),對于indexOf,表示從該位置開始向后匹配;對于lastIndexOf,表示從該位置起向前匹配。

split 將separate作為切割字符,結(jié)果存在一個字符串中。

var arr = "a b c c b a";
var b = arr.split(" ");
console.log(b);
// ["a", "b", "c", "c", "b", "a"]

為空時,相當(dāng)于字符串轉(zhuǎn)為了數(shù)組。

補(bǔ)充:

數(shù)字:toFixed() 保留小數(shù),結(jié)果是字符串類型的!!。

var a = 1.1212;
console.log(a.toFixed(2));
// 1.12  

parseInt 和 parseFloat

var a = 024;
console.log(parseInt(a,10));
// 24

字符串轉(zhuǎn)數(shù)字 parseInt

數(shù)字轉(zhuǎn)字符 toString or 數(shù)字 + ""

參考鏈接: 阮一峰的JavaScript 標(biāo)準(zhǔn)參考教程(alpha)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/78473.html

相關(guān)文章

  • Nginx 源碼分析第三篇之 ngx_queue 隊(duì)列

    摘要:相關(guān)系列前面分析了數(shù)組,現(xiàn)在看一下隊(duì)列和哈希表的實(shí)現(xiàn)。隊(duì)列是一個雙向鏈表,實(shí)現(xiàn)了一個隊(duì)列的操作邏輯。它們都將鏈表節(jié)點(diǎn)塞入數(shù)據(jù)結(jié)構(gòu)。對于常用的解決沖突的方法有線性探測二次探測和開鏈法等。 相關(guān)系列:http://www.codefrom.com/p/nginx 前面分析了ngx_array_t數(shù)組,現(xiàn)在看一下ngx_queue隊(duì)列和ngx_hash哈希表的實(shí)現(xiàn)。 ngx_qu...

    frontoldman 評論0 收藏0
  • MongoDB干貨篇之數(shù)據(jù)更新

    摘要:默認(rèn)為如果為的話和一樣的效果下面將會更新所有匹配到的數(shù)據(jù)字段更新操作符用來指定一個鍵的值。語法當(dāng)對數(shù)組字段進(jìn)行更新時,且沒有明確指定的元素在數(shù)組中的位置,我們使用定位操作符標(biāo)識一個元素,數(shù)字都是以開始的。 MongoDB干貨篇之?dāng)?shù)據(jù)更新 原文地址 https://chenjiabing666.github... 常用的函數(shù) update(,,,),其中表示篩選的條件,是要更新的數(shù)據(jù) ...

    kidsamong 評論0 收藏0
  • JS語言精粹--函數(shù)篇之this與調(diào)用模式

    摘要:在中有四種調(diào)用模式方法調(diào)用模式函數(shù)調(diào)用模式構(gòu)造器調(diào)用模式和調(diào)用模式。構(gòu)造一個的實(shí)例目標(biāo)就是結(jié)合前綴來調(diào)用的函數(shù),被稱為構(gòu)造函數(shù)。 久違的博文,貌似距離我上一篇也算是有些年歲(加班的日子真是度日如年啊T^T)了,所以呢,現(xiàn)在是時候回歸正道了,還是歡迎各位IT道友多多交(tu)流(cao)哈! 正文 首先,說到 JavaScript 函數(shù),我們就要先理解下一些很可能被忽視的小概念:函數(shù)對象...

    niceforbear 評論0 收藏0
  • lodash數(shù)組篇之2 compact()

    摘要:創(chuàng)建一個新數(shù)組,包含原數(shù)組中所有的非假值元素。例如和都是被認(rèn)為是假值。 創(chuàng)建一個新數(shù)組,包含原數(shù)組中所有的非假值元素。例如false, null, 0, , undefined, 和 NaN 都是被認(rèn)為是假值。 以下是自己實(shí)現(xiàn)的compact() compact:(array)=>{ let result = [] //判斷參數(shù)是否是數(shù)組 如果不是...

    robin 評論0 收藏0
  • lodash數(shù)組篇之1 chunk()

    摘要:最近打算去研究下的源碼,準(zhǔn)備把大部分方法都實(shí)現(xiàn)一遍。先自己寫,然后在對照源碼。第一個是將數(shù)組拆分成多個長度的區(qū)塊,并將這些區(qū)塊組成一個新數(shù)組。 最近打算去研究下lodash的源碼,準(zhǔn)備把大部分方法都實(shí)現(xiàn)一遍。先自己寫,然后在對照源碼。第一個是 chunk 將數(shù)組(array)拆分成多個 size 長度的區(qū)塊,并將這些區(qū)塊組成一個新數(shù)組。 如果array 無法被分割成全部等長的區(qū)塊,那么...

    cangck_X 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<