數(shù)組有哪些方法
一、操作方法
1、增
(1):push()添加到數(shù)組末尾任意或多個(gè)值
<script>
var getNumber=[1,2,3,4];
getNumber.push(5,6,7);
console.log(getNumber);
// 那么打印出來(lái)的getNumber就是[1,2,3,4,5,6,7]
</script>
(2):unshift() 添加任意多個(gè)值在數(shù)組的頭部
<script>
var getNumber=[1,2,3,4];
getNumber.unshift(5,6,7);
console.log(getNumber);
// 那么打印出來(lái)的getNumber就是[5,6,7,1,2,3,4]
</script>
(3):concat() (數(shù)組拼接)返回這個(gè)新構(gòu)建的數(shù)組
<script>
var getNumber1=[1,2,3,4];
var getNumber2=[10,9,4]
var getNumber3=getNumber1.concat(getNumber2)
console.log(getNumber3);
// 那么打印出來(lái)的新數(shù)組getNumber3就是[1,2,3,4,10,9,4]
</script>
2、刪
(1):pop() 尾部(最后一位)刪除一個(gè)值
<script>
var getNumber=[1,2,3,4];
getNumber.pop();
console.log(getNumber);
// 那么打印出來(lái)的數(shù)組getNumber就是[1,2,3]
</script>
(2):shift() 頭部(第一位)刪除一個(gè)值
<script>
var getNumber=[1,2,3,4];
getNumber.shift();
console.log(getNumber);
// 那么打印出來(lái)的數(shù)組getNumber就是[2,3,4]
</script>
(3):splice() 從第幾個(gè)下標(biāo)上的值開(kāi)始刪除,共刪除幾個(gè)
<script>
var getNumber=[1,2,3,4,5,6,7,8,9];
getNumber.splice(2,3);
console.log(getNumber);
// 那么打印出來(lái)的數(shù)組getNumber就是[1,2,6,7,8,9]
// splice(2,3); 2代表從下標(biāo)為二的開(kāi)始 3代表共刪除三個(gè)
//所以3,4,5被刪除
</script>
3、*改*
splice()除了刪除功能外還可以更改刪除位置的值
<script>
var getNumber=[1,2,3,4,5,6,7,8,9];
getNumber.splice(2,3,10,11,12,13);
console.log(getNumber);
// 那么打印出來(lái)的數(shù)組getNumber就是[1,2,10,6,7,8,9]
// splice(2,3,10); 2代表從下標(biāo)為二的開(kāi)始 3代表共刪除三個(gè) 所以3,4,5被刪除
//10表示在下標(biāo)2的位置更改了一個(gè)值為10,也可以更改多個(gè)用逗號(hào)隔開(kāi),他們會(huì)依次排序,會(huì)影響后邊值的下標(biāo)
</script>
4、*查*
indexOf() 在數(shù)組或字符串中查找元素,找到就返回元素的下標(biāo),沒(méi)找到就返回-1
<script>
var getNumber=[1,2,3,2,5,6,7,8,9];
var res=getNumber.indexOf(2);
console.log(res);
// 那么打印出來(lái)的res就是1
// 1是下標(biāo),對(duì)應(yīng)的就是數(shù)字2,indexOf找到第一個(gè)相同值就返回,不會(huì)去找下一個(gè)
// 如果indexOf沒(méi)有找到相同值,就會(huì)返回-1
</script>
二、排序方法
reverse() 翻轉(zhuǎn)
<script>
var getNumber=[1,2,3,4];
getNumber.reverse();
console.log(getNumber);
// 那么打印出來(lái)的數(shù)組getNumber就是[4,3,2,1]
</script>
三、轉(zhuǎn)換方法
join() 把數(shù)組拼接成字符串()中放鏈接號(hào)(不會(huì)更改原數(shù)組,需要一個(gè)新的變量去接)
<script>
var getNumber=[1,2,3,4];
var res=getNumber.join('-');
console.log(getNumber);
console.log(res);
// 打印出來(lái)的數(shù)組getNumber依舊是[1,2,3,4]
// 打印出來(lái)的res就變成了字符串 1-2-3-4
</script>
四、迭代方法
some()
對(duì)數(shù)組每一項(xiàng)都運(yùn)行傳入的函數(shù),如果有一項(xiàng)函數(shù)返回 true ,則這個(gè)方法返回 true
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let someResult = numbers.every((item, index, array) => item > 2);
console.log(someResult) // true
every()
對(duì)數(shù)組每一項(xiàng)都運(yùn)行傳入的函數(shù),如果對(duì)每一項(xiàng)函數(shù)都返回 true ,則這個(gè)方法返回 true
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let everyResult = numbers.every((item, index, array) => item > 2);
console.log(everyResult) // false
forEach()
對(duì)數(shù)組每一項(xiàng)都運(yùn)行傳入的函數(shù),沒(méi)有返回值
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
numbers.forEach((item, index, array) => {
// 執(zhí)行某些操作
});
filter()
對(duì)數(shù)組每一項(xiàng)都運(yùn)行傳入的函數(shù),函數(shù)返回 true 的項(xiàng)會(huì)組成數(shù)組之后返回
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let filterResult = numbers.filter((item, index, array) => item > 2);
console.log(filterResult); // 3,4,5,4,3
map()
對(duì)數(shù)組每一項(xiàng)都運(yùn)行傳入的函數(shù),返回由每次函數(shù)調(diào)用的結(jié)果構(gòu)成的數(shù)組
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let mapResult = numbers.map((item, index, array) => item * 2);
console.log(mapResult) // 2,4,6,8,10,8,6,4,2