????????????????????????????????????????????????????????????????????數(shù)組
數(shù)組是有序的元素序列挡闰,一組數(shù)據(jù)的集合,或者可以理解為用來在單個變量中儲存多個值
- 數(shù)組的方法及屬性
1.length屬性:獲取數(shù)組長度
2.concat:合并數(shù)組
3.slice():截取數(shù)組中的元素,返回截取后的數(shù)組 不改變原數(shù)組
4.splice():用來刪除或添加元素丑孩,會改變原數(shù)組
5.join():把數(shù)組轉(zhuǎn)為字符串
6.push() 向數(shù)組的最后末尾添加一個或多個元素叠骑,返回一個長度 會改變原有數(shù)組
7.pop()從數(shù)組最后刪除元素,返回被刪除的元素祟印,會改變原數(shù)組
8.shift() 刪除數(shù)組中的第一個元素肴沫,返回刪除的元素 會改變原有數(shù)組
9.unshift()在數(shù)組最前添加元素。返回添加后數(shù)組的新長度蕴忆,會改變元素
10.reverse() 顛倒數(shù)組元素的順序 會改變原有數(shù)組
11.sort() 對數(shù)組中的元素進行排序 會改變原有數(shù)組
12.toString() 把數(shù)組中的元素轉(zhuǎn)為字符串颤芬,返回一個字符串
13.indexOf 通過元素查找下標,找不到返回 -1
- 數(shù)組的方法
1.Length()獲取數(shù)組長度
var arr = [1,2,3,4,5,6,7,8,9];
console.log(arr.length)//9
2.Concat()合并數(shù)組
var arr = [1,5,2,3,6,9];
console.log(arr.concat([1,2,3],34))//[1,5,2,3,6,9,1,2,3,34]
3.Slice()截取數(shù)組中的元素,返回截取后的數(shù)組 不改變原數(shù)組
第一個參數(shù): 起始下標(不包括起始下標)
第二個參數(shù): 結(jié)束下標
var arr = [1,'a',3,4,'f',6,7,8,9];
console.log(arr.slice(2,5))//[3,4,f]
4.splice():用來刪除或添加元素站蝠,會改變原數(shù)組
第一個參數(shù): 起始下標
第二個參數(shù): 刪除的個數(shù)
第三個參數(shù): 需要插入的元素
var arr = ['a','b','c','d',1,2,3];
console.log(arr.splice(2,0,'1'))//[]
console.log(arr)//['a','b','1','c','d',1,2,3]
5.join():把數(shù)組轉(zhuǎn)為字符串
默認以逗號分隔
var arr = [1,'a',3,4];
console.log(arr.join())//1,a,3,4
6.push() 向數(shù)組的最后末尾添加一個或多個元素汰具,返回一個長度 會改變原有數(shù)組
var arr = [1,3,4,5,6,'a'];
console.log(arr.push(1));
console.log(arr)//[1,3,4,5,6,'a',1]
7.pop()從數(shù)組最后刪除元素,返回被刪除的元素菱魔,會改變原數(shù)組
var arr = [1,2,3,4,5,6];
console.log(arr.pop());//6
console.log(arr)//[1,2,3,4,5]
8.shift() 刪除數(shù)組中的第一個元素留荔,返回刪除的元素 會改變原有數(shù)組
var arr = [1,2,3,4,5,6,7];
console.log(arr.shift());//1
console.log(arr)//[2,3,4,5,6,7]
9.unshift()在數(shù)組最前添加元素。返回添加后數(shù)組的新長度澜倦,會改變元素
var arr = [1,2,3,4,5];
console.log(arr.unshuft('a'));//6
console.log(arr)//['a',1,2,3,4,5]
10.reverse() 顛倒數(shù)組元素的順序 會改變原有數(shù)組
var arr = [1,2,3,4,5];
console.log(arr.reverse())//[5,4,3,2,1]
11.sort() 對數(shù)組中的元素進行排序 會改變原有數(shù)組
var arr = [1,2,6,3,4,5,2];
console.log(arr.sort())//[1,2,2,3,4,5,6]
12.toString() 把數(shù)組中的元素轉(zhuǎn)為字符串聚蝶,返回一個字符串
var arr = [1,2,6,3,4,5,2,'a'];
console.log(arr.toString())//1,2,6,3,4,5,2,a
13.indexOf 通過元素查找下標,找不到返回 -1
var arr = [1,2,6,3,4,5,2,'a'];
console.log(arr.indexOf('a'))//7
console.log(arr.indexOf(7))//-1
Array.forEach(function (a, b, c) {
});
a: 循環(huán)的當前元素
b: 當前下標
c: 原數(shù)組
不會改變原數(shù)組 不會返回數(shù)據(jù)
Array.map(function (a, b, c) {
return 加工后的元素;
});
a: 循環(huán)的當前元素
b: 當前下標
c: 原數(shù)組
返回一個新數(shù)組
不修改原數(shù)組
Array.filter(function(a, b, c) {
return a>0;
}); ( 數(shù)組過濾 )
a: 循環(huán)的當前元素
b: 當前下標
c: 原數(shù)組
返回一個新數(shù)組(放的是滿足條件的元素)
不會改變原數(shù)組
Array.every(function (a, b, c) {
return a > 0;
});
a: 循環(huán)的當前元素
b: 當前下標
c: 原數(shù)組
當數(shù)組中所有元素滿足其條件情況下藻治,返回布爾值 true
當數(shù)組中其中一個不滿足其條件情況下碘勉,返回布爾值 false,(立即終止循環(huán))
Array.some(function (a, b, c) {
return a > 0;
});
a: 循環(huán)的當前元素
b: 當前下標
c: 原數(shù)組
當數(shù)組中其中一個元素滿足其條件情況下桩卵,返回布爾值 true (立即終止循環(huán))
當數(shù)組中所有不滿足其條件情況下验靡,返回布爾值 false
Array.reduce(function (a, b, c,d) {
return a + b;
}, x)
a : 上一次循環(huán)的結(jié)果
b : 當前元素
c :當前元素下標
d : 起始值