標籤:正序 關注 拼接 cat 字串拼接 小明 表數 string .so
數組 數組的定義
1.數組字面量(直接量)
var arr = [1, 2, 3];
2.利用建構函式
new Array(length/content)
var arr = new Array(1,2,3,4);arr = [1,2,3,4]
如果只傳一位參數就代表數組的長度。注意:數組只能溢出寫不能溢出讀。
數組方法(重點)能改變原數組的7種方法 1. arr.push( )
從數組最後添加元素。
var arr = [1,2,3,4];arr.push(123,[],{})
仿寫一個push方法
Array.prototype.push = function(target){ var len = this.length; (this[len] = target; //一個參數) for(var i = 0; i < arguments.length; i++){ this[this.length] = arguments[i];//多個參數}
2. arr.pop( ) 不用傳參數
剪下數組最後那個元素並返回。
3. arr.shift( ) 不用傳參數
在前面剪下元素並返回。
4. arr.unshift( )
在數組前面添加元素。可以一個,也可以多個,例如
var arr = [1,2,3,4]; arr.unshift(0);//******arr = [0,1,2,3,4]
var arr = [1,2,3,4]; arr.unshift(-2,-1,0);//************arr=[-2,-1,0,1,2,3,4]
5. arr.reverse( )
將數組元素逆轉。
6. arr.splice( )
可傳入多個參數,返回的是剪下的數組,第一個參數是開始操作位,第二個是剪下長度,之後的參數都是從操作位添加元素。
var arr = [1,2,3,4];arr.splice(0,2); //返回的是剪下的數組 [1,2],這時候arr=[3,4]
當剪下長度是0的時候,可以用來添加元素 這種方法常用來插入資料
var arr = [1,2,3,4];arr.splice(0,0,5,6,7); //返回的是 [] ,這時候arr= [5,6,7,1,2,3,4]
7. arr.sort( ) 用來排序
arr.sort( )自己的方法是通過ASCII進行排序。一般我們都是自訂方法,自訂規則。關注傳回值,如果返回的是正數,那麼後面的數在前面,如果返回的是負數,那麼前面的數
在前。運算元,會將數組中的任意的兩位元傳到函數裡面,當做a,和b,然後根據傳回值,按照上述方法進行排序。例如:
var arr = [2,9,6,1,7,8,3];arr.sort(function (a,b) {if(a > b){ return 1;}else{return -1;}}//arr [1,2,3,6,7,8,9] 正序arr.sort(function (a,b){ if(a < b){ return 1;}else{return -1;}}//arr [9,8,7,6,3,2,1]; 倒序
簡寫如下:
var arr = [1,6,2,7,8]arr.sort(function (a,b) {return a-b;//正序return b-a;//倒序})
將正序的數組隨機排列:
var arr = [1,2,3,4,5,6,7,8];arr.sort(function () {var ret = Math.random() - 0.5;return ret;})
將對象按照某個屬性排列:
var arr = [{name:‘大明‘,age:20},{name:‘小明‘,age:18}]arr.sort(function (a,b){return a.age - b.age;}
以上7種方法都能改變原數組 push() pop() shift() unshift() reverse() splice() sort()
不能改變原數組的2種方法1. arr.concat( )
對兩個數組進行串連
var arr = [1,2,3];var arr1 = [2,3,4];var arr2 = arr.concat(arr1); // [1,2,3,2,3,4]
2. arr.join( )
將數組按照傳進去的符號進行串連,最後轉化為字串返回。預設是逗號串連。
var arr = [1,2,3];arr.join("-") // "1-2-3"
3. arr.toString( )
將數組的每一位轉化為字串並返回
var arr1= [[],1,2,3];arr1.toString();var arr2 = [{},1,2,3];arr2.toString();
結果如下:
4. str.split( ) 這是字串的方法,操作的是字串,剛好與join相反
將字串按照傳進去的符號拆分為字串形式的數組
var arr = [1,2,3];var str1 = arr.join("-") // "1-2-3"str.split(‘-‘); //["1","2","3"]
從上面我們可以知道,這個方法可以將數組裡面的元素變成字串的形式。
接下來看到例題鞏固一下: 用最快的方法將以下字串拼接為字串:“上海”,“北京”,“中山”,“深圳”,“廣州”,“梅州”
方法一: 棧操作(耗效能)
var str = "";str += "上海"+“北京”+“中山”+“深圳”+“廣州”+“梅州”;//"上海北京中山深圳廣州梅州"
方法二: 堆操作(利用數組)
var arr = ["上海","北京","中山","深圳","廣州","梅州"]; arr.join(‘‘); //"上海北京中山深圳廣州梅州"
JavaScript初階(十)---------- 數組