上期簡單的說了一下數(shù)組滥搭,這期切入正題:數(shù)組的方法何什。
- Array.length 檢測數(shù)組的長度譬巫,增刪會改變原數(shù)組咖楣;
//可讀可寫,賦值則會從后面增刪數(shù)組元素
var arr = [1,2,3,4];
console.log(arr.length); //4 可讀
arr.length = 5;
console.log(arr); //[1,2,3,4,empty item] 可增
arr.length = 3;
console.log(arr); //[1,2,3] 可刪
- Array.concat()拼接數(shù)組芦昔,返回新的數(shù)組诱贿,不改變原數(shù)組;
var arr = [1,2];
console.log(arr.concat(5)); //[1,2,5] 拼接數(shù)字
console.log(arr.concat([7,3])); //[1,2,7,3] 拼接多位數(shù)字
console.log(arr); //[1,2] 不改變原數(shù)組
- Array.reverse()倒敘數(shù)組咕缎,會改變原數(shù)組珠十;
var arr = [1,2,3,4,5];
console.log(arr.reverse()); //[ 5, 4, 3, 2, 1 ] 倒敘數(shù)組
console.log(arr); //[ 5, 4, 3, 2, 1 ] 會改變原數(shù)組
- Array.indexOf()通過元素找下標(biāo),沒找到返回-1凭豪;
var arr = [1,3,5,2,7,1,9,4];
console.log(arr.indexOf(1)); //0 下標(biāo)從0開始計數(shù) 找到并不會接著繼續(xù)找
console.log(arr.indexOf(1焙蹭,1)); //5 從下標(biāo)為1的元素開始找
conso.log(arr.indexOf(8)) //-1 找不到返回-1
- Array.lastIndexOf()從后往前通過元素找下標(biāo),找不到返回-1嫂伞,用法同上孔厉;
- Array.join()把數(shù)組轉(zhuǎn)為字符串拯钻。不改變原數(shù)組;
var arr = [1,3,5,2,7,1,9,4];
console.log(arr.join()); //'1,3,5,2,7,1,9,4' 參數(shù)為拼接符 不傳參默認(rèn)為逗號
console.log(arr.join('')); //'13527194' 空引號為不使用拼接符
console.log(arr); //[1,3,5,2,7,1,9,4] 原數(shù)組不改變
- Array.toString();數(shù)組轉(zhuǎn)為字符串使用逗號拼接,不改變原數(shù)組撰豺;
var arr = [1,3,5,2,7,1,9,4];
console.log(arr..toString()); //'1,3,5,2,7,1,9,4'
- Array.slice()數(shù)組截取,不改變原數(shù)組粪般;
var arr = [1,3,5,2,7,1,9,4];
console.log(arr.slice(1,3)); //[3,5] 第一個參數(shù)為截取起始下標(biāo),第二個參數(shù)為結(jié)束下標(biāo)
consol.log(arr); //[1,3,5,2,7,1,9,4] 不改變原數(shù)組
- Array.splice()數(shù)組截取污桦,會改變原數(shù)組
var arr = [1,3,5,2,7,1,9,4];
console.log(arr.splice(1,3,0,4)); //[3,5,2]
//第一個參數(shù)為截取起始下標(biāo)亩歹,第二個參數(shù)為截取的個數(shù),之后的參數(shù)為插入原數(shù)組的元素
console.log(arr); //[ 1, 0, 4, 7, 1, 9, 4 ] 原數(shù)組被改變