數組的常用方法
push( )
將一個或多個元素添加到數組末尾,返回該數組的新長度(該方法修改原有數組)。
語法:數組.push(添加的值)
返回值:當調用該方法時,新的length屬性值將被返回
var arr = [1, 11, 2, 22, 3, 4];
var len = arr.push(8, 6);
console.log(arr); //[1, 11, 2, 22, 3, 4, 8, 6]
console.log(len); //8
unshift( )
將一個或多個元素添加到數組開頭,返回該數組的新長度(該方法修改原有數組)
語法:數組.unshift(添加的值)
返回值:當一個對象調用該方法時,返回其length屬性值。
var arr = [1, 11, 2, 22, 3, 4];
var len = arr.unshift(8, 6,91);
console.log(arr); //[8, 6, 91, 1, 11, 2, 22, 3, 4]
console.log(len); //9
pop( )
從數組中刪除最後一個元素,返回被刪除的值(當數組爲空時返回undefined),會更改數組的長度
語法:數組.pop( )
返回值:從數組中刪除的元素; 如果數組爲空則返回undefined
var arr = [1, 11, 2, 22, 3, 4];
var len = arr.pop();
console.log(arr); // [1, 11, 2, 22, 3]
console.log(len); //4
shift( )
從數組中刪除第一個元素,並返回該元素的值(當數組爲空時返回undefined),會更改數組的長度
語法:數組.shift( )
返回值:從數組中刪除的元素; 如果數組爲空則返回undefined
var arr = [1, 11, 2, 22, 3, 4];
var len = arr.shift();
console.log(arr); // [11, 2, 22, 3, 4]
console.log(len); //1
splice( )
通過刪除或替換現有元素或者原地添加新的元素來修改數組,並以數組形式返回被修改的內容,會改變原數組。
語法:數組.splice(start,del[,item1,item2])
start:開始的位置
del:刪除的個數。可選
item1,item2...:添加進數組的元素。可選
返回值:由被刪除的元素組成的一個數組。如果只刪除了一個元素,則返回只包含一個元素的數組。如果沒有刪除元素,則返回空數組。
var arr = [1, 11, 2, 22, 3, 4];
var len = arr.splice(1,0,'jack','tom');
console.log(arr); // [1, "jack", "tom", 11, 2, 22, 3, 4]
console.log(len); //[]
var arr = [1, 11, 2, 22, 3, 4];
var len = arr.splice(1,2);
console.log(arr); // [1, 22, 3, 4]
console.log(len); //[11, 2]
var arr = [1, 11, 2, 22, 3, 4];
var len = arr.splice(1,2,'joe');
console.log(arr); // [1, "joe", 22, 3, 4]
console.log(len); //[11,2]
reverse( )
將數組中元素的位置顛倒,並返回該數組。
語法:arr.reverse( )
返回值:顛倒後的數組。
var arr = [1, 11, 2, 22, 3, 4];
var len = arr.reverse();
console.log(arr); // [4, 3, 22, 2, 11, 1]
console.log(len); //[4, 3, 22, 2, 11, 1]
concat( )
合併兩個或多個數組,此方法不會更改現有數組,而是返回一個新數組。
語法:數組.concat(要拼接的數組)
返回值:新的數組
var arr = [1, 11, 2, 22, 3, 4];
var brr=['jack','tom','jen']
var len = arr.concat(brr);
console.log(len); //[1, 11, 2, 22, 3, 4, "jack", "tom", "jen"]
slice( )
數組的截取
語法:數組.slice(start[,end])
start:從該索引開始提取原數組元素。可選
end:該索引處結束提取原數組元素。可選
var arr = [1, 11, 2, 22, 3, 4];
var len = arr.slice(2);
console.log(len); // [2, 22, 3, 4]
var arr = [1, 11, 2, 22, 3, 4];
var len = arr.slice(2,5);
console.log(len); //[2, 22, 3]
var arr = [1, 11, 2, 22, 3, 4];
var len = arr.slice(-4,-2);
console.log(len); // [2, 22]
var arr = [1, 11, 2, 22, 3, 4];
var len = arr.slice(-4);
console.log(len); // [2, 22, 3, 4]
join( )
將一個數組(或一個類數組對象)的所有元素連接成一個字符串並返回這個字符串。
語法:數組.join(sep)
sep:指定一個字符串來分隔數組的每個元素。可選
返回值:一個所有數組元素連接的字符串。如果 arr.length
爲0,則返回空字符串。
var arr = [1, 11, 2, 22, 3, 4];
var len = arr.join('-');
console.log(len); // 1-11-2-22-3-4
sort( )
對數組的元素進行排序,並返回數組。默認排序順序是在將元素轉換爲字符串,然後比較它們的UTF-16代碼單元值
語法:數組.sort( )
返回值:排序後的數組
var arr = [1, 11, 2, 52, 73, 34];
var len = arr.sort();
console.log(arr); // [1, 11, 2, 34, 52, 73]
console.log(len); // [1, 11, 2, 34, 52, 73]
indexOf( )
在數組中可以找到一個給定元素的第一個索引,如果不存在,則返回-1
語法:數組.indexOf(要查找的數組)
返回值:首個被找到的元素在數組中的索引位置; 若沒有找到則返回 -1
var arr = [1, 11, 2, 52, 73, 34];
var len = arr.indexOf(52);
console.log(len); // 3
lastIndexOf( )
在數組中的最後一個的索引,如果不存在則返回 -1。從數組的後面向前查找
語法:數組.lastIndexOf(要查找的數組)
返回值:數組中該元素最後一次出現的索引,如未找到返回-1
var arr = [1, 11, 2, 52, 73, 34,11,23,55];
var len = arr.lastIndexOf(11);
console.log(len); // 6
every( )
一個數組內的所有元素是否都能通過某個指定函數的測試
語法:數組.every(function(值,下標,數組本身){返回一個條件})
返回值:如果回調函數的每一次返回都爲true 值,返回 true
,否則返回 false
var arr = [81, 11, 62, 52, 73, 34,11,23,55];
var len = arr.every(function(item,index,arry){
return item>10
});
console.log(len); // true
var arr = [81, 11, 62, 52, 73, 34,11,23,55];
var len = arr.every(function(item,index,arry){
return item>30
});
console.log(len); // false
some( )
數組中是不是至少有1個元素通過了被提供的函數測試
語法:數組.some(function(值,下標,數組本身){返回一個條件})
返回值:數組中有至少一個元素通過回調函數的測試就會返回true
;所有元素都沒有通過回調函數的測試返回值纔會爲false
var arr = [81, 11, 62, 52, 73, 34,11,23,55];
var len = arr.some(function(item,index,arry){
return item>80
});
console.log(len); // true
filter( )
創建一個新數組, 其包含通過所提供函數實現的測試的所有元素
語法:語法:數組.filter(function(值,下標,數組本身){返回一個條件})
返回值:一個新的、由通過測試的元素組成的數組,如果沒有任何數組元素通過測試,則返回空數組
var arr = [81, 11, 62, 52, 73, 34,11,23,55];
var len = arr.filter(function(item,index,arry){
return item>30
});
console.log(len); // [81, 62, 52, 73, 34, 55]
map( )
創建一個新數組,其結果是該數組中的每個元素都調用一個提供的函數後返回的結果。
語法:數組.map(function(值,下標,數組本身){處理的邏輯 返回新的數組 })
返回值:回調函數的結果組成了新數組的每一個元素。
var arr = [81, 11, 62, 52, 73, 34,11,23,55];
var len = arr.map(function(item,index,arry){
return item+10
});
console.log(len); // [91, 21, 72, 62, 83, 44, 21, 33, 65]
forEach( )
對數組的每個元素執行一次給定的函數
語法:數組.forEach(function(值,下標,數組本身){遍歷以後的操作 })
返回值:undefined
var arr = [81, 11, 62, 52, 73, 34,11,23,55];
var len = arr.map(function(item,index,arry){
console.log(item);
});
字符串的常用方法
charAt( )
一個字符串中返回指定的字符
語法:字符串.charAt(index)
var str = 'jack,tom,jon,li,ming';
var len = str.charAt(3);
console.log(len);//k
charCodeAt( )
通過下標得到字符對應的阿斯克碼
語法:字符串.charCodeAt(index)
var str = 'jack,tom,jon,li,ming';
var len = str.charCodeAt(3);
console.log(len);//107
split( )
使用指定的分隔符字符串將一個string
對象分割成子字符串數組,以一個指定的分割字串來決定每個拆分的位置
語法:字符串.split(分隔符[,保留的元素個數])
返回值:返回源字符串以分隔符出現位置分隔而成的一個 Array
var str = 'jack,tom,jon,li,ming';
var len = str.split(' ');
console.log(len);//["jack,tom,jon,li,ming"]
var str = 'jack,tom,jon,li,ming';
var len = str.split(',',2); //注意有沒有空格符
console.log(len);//["jack", "tom"]
substring( )
返回一個字符串在開始索引到結束索引之間的一個子集, 或從開始索引直到字符串的末尾的一個子集
語法:字符串.substring(開始下標[,結束下標])
返回值:包含給定字符串的指定部分的新字符串
var str = 'jack,tom,jon,li,ming';
var len = str.substring(5,9);
console.log(len);//tom,
var str = 'jack,tom,jon,li,ming';
var len = str.substring(4);
console.log(len);//,tom,jon,li,ming
小寫轉大寫
toUpperCase( )
返回一個將調用字符串轉換爲大寫形式的值
語法:字符串.toUpperCase( )
返回值:一個表示調用字串轉換成大寫格式的新字符串
var str = 'jack,tom,jon,li,ming';
var len = str.toUpperCase();
console.log(len);//JACK,TOM,JON,LI,MING
大寫轉小寫
toLowerCase( )
返回一個將調用該方法的字符串值轉爲小寫形式
語法:字符串.toLowerCase( )
返回值:一個新的字符串,表示串轉換爲小寫的調用字符
var str = 'jack,tom,jon,li,ming';
var len = str.toUpperCase();
var str1=len.toLowerCase()
console.log(str1);//jack,tom,jon,li,ming
splice、indexOf、lastIndexOf、concat跟數組的用法一樣