摘要:常常在開發中,會使用到很多數組和字符串的處理方法,這里列舉一些我常用到的一些,方便大家參考使用。數組轉化成字符串,原來的數組不變。將作為切割字符,結果存在一個字符串中。補充數字保留小數,結果是字符串類型的。
數組方面常常在開發中,會使用到很多js數組和字符串的處理方法,這里列舉一些我常用到的一些,方便大家參考使用。
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]
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]
toString:數組轉化成字符串,原來的數組不變。
console.log(arr); arr = arr.toString(); console.log(arr); // [1,2,3] //"1,2,3" 而不是"123"
concat:數組的拼接,參數可以是數組也可以一個接一個,原來的數組不變。
var arr = [1,2,3]; var b = arr.concat([1,2,3]); console.log(b); //[1,2,3,1,2,3]
join:(分隔符),每一項拿出來用指定的分隔符分開,不帶參數默認為",",原來的數組不變。
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 數字 + ""
參考鏈接: 阮一峰的JavaScript 標準參考教程(alpha)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/78473.html
摘要:相關系列前面分析了數組,現在看一下隊列和哈希表的實現。隊列是一個雙向鏈表,實現了一個隊列的操作邏輯。它們都將鏈表節點塞入數據結構。對于常用的解決沖突的方法有線性探測二次探測和開鏈法等。 相關系列:http://www.codefrom.com/p/nginx 前面分析了ngx_array_t數組,現在看一下ngx_queue隊列和ngx_hash哈希表的實現。 ngx_qu...
摘要:默認為如果為的話和一樣的效果下面將會更新所有匹配到的數據字段更新操作符用來指定一個鍵的值。語法當對數組字段進行更新時,且沒有明確指定的元素在數組中的位置,我們使用定位操作符標識一個元素,數字都是以開始的。 MongoDB干貨篇之數據更新 原文地址 https://chenjiabing666.github... 常用的函數 update(,,,),其中表示篩選的條件,是要更新的數據 ...
摘要:在中有四種調用模式方法調用模式函數調用模式構造器調用模式和調用模式。構造一個的實例目標就是結合前綴來調用的函數,被稱為構造函數。 久違的博文,貌似距離我上一篇也算是有些年歲(加班的日子真是度日如年啊T^T)了,所以呢,現在是時候回歸正道了,還是歡迎各位IT道友多多交(tu)流(cao)哈! 正文 首先,說到 JavaScript 函數,我們就要先理解下一些很可能被忽視的小概念:函數對象...
摘要:創建一個新數組,包含原數組中所有的非假值元素。例如和都是被認為是假值。 創建一個新數組,包含原數組中所有的非假值元素。例如false, null, 0, , undefined, 和 NaN 都是被認為是假值。 以下是自己實現的compact() compact:(array)=>{ let result = [] //判斷參數是否是數組 如果不是...
摘要:最近打算去研究下的源碼,準備把大部分方法都實現一遍。先自己寫,然后在對照源碼。第一個是將數組拆分成多個長度的區塊,并將這些區塊組成一個新數組。 最近打算去研究下lodash的源碼,準備把大部分方法都實現一遍。先自己寫,然后在對照源碼。第一個是 chunk 將數組(array)拆分成多個 size 長度的區塊,并將這些區塊組成一個新數組。 如果array 無法被分割成全部等長的區塊,那么...
閱讀 3219·2021-11-08 13:21
閱讀 1200·2021-08-12 13:28
閱讀 1410·2019-08-30 14:23
閱讀 1931·2019-08-30 11:09
閱讀 847·2019-08-29 13:22
閱讀 2692·2019-08-29 13:12
閱讀 2554·2019-08-26 17:04
閱讀 2260·2019-08-26 13:22