new Array(); new Array(size); new Array(element0, element1, ..., elementn);
參數 size 是指望的數組元素個數。返回的數組,length 字段將被設爲 size 的值。 參數 element ..., elementn 是參數列表。當使用這些參數來調用構造函數 Array() 時,新建立的數組的元素就會被初始化爲這些值。它的 length 字段也會被設置爲參數的個數。
返回新建立並被初始化了的數組。 若是調用構造函數 Array() 時沒有使用參數,那麼返回的數組爲空,length 字段爲 0。 當調用構造函數時只傳遞給它一個數字參數,該構造函數將返回具備指定個數、元素爲 undefined 的數組。 當其餘參數調用 Array() 時,該構造函數將用參數指定的值初始化數組。 當把構造函數做爲函數調用,不使用 new 運算符時,它的行爲與使用 new 運算符調用它時的行爲徹底同樣。
constructor 返回對建立此對象的數組函數的引用。 length 設置或返回數組中元素的數目。 prototype 使您有能力向對象添加屬性和方法。
方法 描述 concat() 鏈接兩個或更多的數組,並返回結果。 join() 把數組的全部元素放入一個字符串。元素經過指定的分隔符進行分隔。 pop() 刪除並返回數組的最後一個元素 push() 向數組的末尾添加一個或更多元素,並返回新的長度。 reverse() 顛倒數組中元素的順序。 shift() 刪除並返回數組的第一個元素 slice() 從某個已有的數組返回選定的元素 sort() 對數組的元素進行排序 splice() 刪除元素,並向數組添加新元素。 toSource() 返回該對象的源代碼。 toString() 把數組轉換爲字符串,並返回結果。 toLocaleString() 把數組轉換爲本地數組,並返回結果。 unshift() 向數組的開頭添加一個或更多元素,並返回新的長度。 valueOf() 返回數組對象的原始值
使用join格式化輸出:每一個元素用空格分開數組
let b = new Array(); .... //格式化輸出 //let str = ""; //for(let i = 0; i < n-1; i++){ //str+=b[i]; //str+=" "; //} //str+=b[n-1]; //print(str); //使用join格式化輸出 let ans = b.join(" "); print(ans);
數組循環右移:arr.unshift(arr.pop())函數
function RoundShift(arr , count) { for (var i = 0; i< count; i++) { arr.unshift(arr.pop()); //unshift() 向數組的開頭添加一個或更多元素,並返回新的長度 //pop() 刪除並返回數組的最後一個元素 //shift() 刪除並返回數組的第一個元素 //push() 向數組的末尾添加一個或更多元素,並返回新的長度 } } var arr = [1,2,3,4,5,6,7]; RoundShift(arr, 3); console.log(arr);
字符串循環右移:str.substring(start, stop)prototype
function shiftLeft(str, n) { var len = str.length; // 由於是循環移動,因此須要處理移動位數大於字符串長度的狀況 n = n % len; return str.substring(n, len) + str.substring(0, n); } var s= shiftLeft('abcdefg', 2); console.log(s); // "cdefgab" s = shiftLeft('abcdefg', 10); console.log(s); // "defgabc"
比較兩個字符串是否爲循環單詞:substring(start,stop)code
function shiftLeft(str1, str2){ if(str1.length!=str2.length){return false;} for(let i = 0; i < str1.length; i++){ let s = str1.substring(i) + str1.substring(0,i); if(s==str2){ return true; } } return false; }
自定義排序比較函數對象
let lines = readline().split(" "); let arr = new Array(n); for(let i = 0; i < lines.length; i++){ arr[i] = parseInt(lines[i]); } arr.sort(cmp); print(arr); //比較函數,保證正確排序 function cmp(x,y){ return x-y; }
slice()排序
定義和用法element
slice() 方法可從已有的數組中返回選定的元素。
語法字符串
arrayObject.slice(start,end)
參數 描述get
start 必需。規定從何處開始選取。若是是負數,那麼它規定從數組尾部開始算起的位置。也就是說,-1 指最後一個元素,-2 指倒數第二個元素,以此類推。 end 可選。規定從何處結束選取。該參數是數組片段結束處的數組下標。若是沒有指定該參數,那麼切分的數組包含從 start 到數組結束的全部元素。若是這個參數是負數,那麼它規定的是從數組尾部開始算起的元素。
返回值string
返回一個新的數組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。
說明
請注意,該方法並不會修改數組,而是返回一個子數組。若是想刪除數組中的一段元素,應該使用方法 Array.splice()。
提示和註釋
註釋:您可以使用負值從數組的尾部選取元素。
註釋:
若是 end 未被規定,那麼 slice() 方法會選取從 start 到數組結尾的全部元素。
定義和用法
splice() 方法向/從數組中添加/刪除項目,而後返回被刪除的項目。
註釋:該方法會改變原始數組。
語法
arrayObject.splice(index,howmany,item1,.....,itemX)
參數 描述
index 必需。整數,規定添加/刪除項目的位置,使用負數可從數組結尾處規定位置。 howmany 必需。要刪除的項目數量。若是設置爲 0,則不會刪除項目。 item1, ..., itemX 可選。向數組添加的新項目。
返回值
類型 描述 Array 包含被刪除項目的新數組,若是有的話。
說明
splice() 方法可刪除從 index 處開始的零個或多個元素,而且用參數列表中聲明的一個或多 個值來替換那些被刪除的元素。 若是從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數組。