JavaScript 数组的常用方法(二)


前言
接上篇avaScript 数组的常用方法(一)。

7、Array.push() / Array.pop()

这两个方法是在数组的末尾添加/移除元素。

//注意push()方法可以一次性添加多个值
let arr1 = [1,2,3,4];
let arr2 = [1,2,3,4];
let arr3 = [1,2,3,4];
arr1.push(5,6,7);   //[1,2,3,4,5,6,7]
arr2.push([5,6,7]); //[1,2,3,4,[5,6,7]]

//pop()方法会返回被推出的元素
在不改变原数组的情况下,用pop方法获取数组最后元素。
let last = [...arr3].pop();
console.log(last);  //4
console.log(arr3);  //[1,2,3,4]

8、Array.shift() / Array.unshift()

这两个方法是在数组的开头移除/添加元素。
注意shiit()是移除,unshift()是添加

var arr = [1,2,3,4];
arr.unshift(0);  //[0,1,2,3,4]
arr.shift();     //[1,2,3,4]

9、Array.concat()

此方法用于拼接两个或多个数组,不改变原数组,返回新数组。

array.concat(arrayX,arrayX,......,arrayX) 参数可以是具体的值,
也可以是数组对象。
let arr1 = [1,2,3,4];
let arr2 = [5,6,7,8];

let arr = arr1.concat(arr2);
console.log(arr1);  //[1,2,3,4]
console.log(arr);   //[1,2,3,4,5,6,7,8]

10、Array.toString()

此方法将数组转化为字符串。

let arr1 = [1,2,3,4];
let str = arr1.toString();
console.log(str) //1,2,3,4

拓展
对空白的处理:toString()会将空位视为undefined,而undefined和null会被处理成空字符串。

let arr1 = [1,,,4];
let str = arr1.toString();
console.log(str)  //1,,,4

11、Array.join()

此方法是将数组元素拼接成字符串。

arrayObject.join(separator)
separator: 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。

let arr1 = ['h','e','l','l','o'];
let str = arr1.join("");  //使用空字符串分隔,即直接拼接
console.log(str)   //"hello"

拓展
对空白的处理:join()会将空位视为undefined,而undefined和null会被处理成空字符串。

let arr1 = [1,,,4];
let str = arr1.join();
console.log(str)  //1,,,4

12、Array.splice()

这方法是可以实现增删操作的万能方法,改变原数组,返回删除的元素。

array.splice(index,howmany,item1,.....,itemX)
index	必需。该参数是开始插入和(或)删除的数组元素的下标。
howmany	可选。规定应该删除多少元素。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
item1, ..., itemX	可选。要添加到数组的新元素

let arr1 = [1,2,3,4,5];
let arr = arr1.splice(2,2,4,5); //从下标2的元素开始删除2个元素(3,4),添加4,5
console.log(arr1)  //[1, 2, 4, 5, 5]
console.log(arr)   //[3,4]

13、Array.indexOf() / Array.lastIndexOf()

此方法可返回数组中某个指定的元素位置,若无则返回-1。

Array.indexOf()从前往后查找,返回第一个匹配的下标。
Array.lastIndexOf()从后往前查找,返回第一个匹配的下标。

let arr1 = [1,2,3,2,1];
let index1 = arr1.indexOf(2);
let index2 = arr1.lastIndexOf(2);
console.log(index1);  //1
console.log(index2);  //3

14、Array.includes()

此方法查找数组中是否存在某个元素,有则返回true,无则返回false。

array.includes(searchElement, fromIndex)
searchElement	必须。需要查找的元素值。
fromIndex	可选。从该索引处开始查找 searchElement。默认为0。
如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索。

let arr1 = [1,2,3,2,1];
let index1 = arr1.includes(2);
let index2 = arr1.includes(5);
console.log(index1) // true
console.log(index2) // false

15、Array.reverse()

此方法用于反转数组,会改变原本数组。

let arr1 = [1,2,3,4,5];
arr1.reverse()
console.log(arr1)//[5,4,3,2,1]

常用字符串反转:
let str = 'hello';
str = str.split('').reverse().join('');
//str = [...str].reverse().join('');
console.log(str) // 'olleh'

16、Array.sort()

sort() 方法用于对数组的元素进行排序。

arrayObject.sort(sortby)
sortby	可选。规定排序顺序。必须是函数。默认从小到大排序。

let arr1 = [1,3,5,4,2];
let arr2 = [1,3,5,4,2];
arr1.sort()
console.log(arr1)  //[1,2,3,4,5]
arr2.sort((a,b)=>{return a-b})  //从大到小
console.log(arr2)  //[5, 4, 3, 2, 1]

17、Array.isArray()

此方法用于确定传递的值是否是一个 Array。

let arr1 = [1,3,5,4,2];
let result = Array.isArray(arr1)
console.log(result);  // true

相当于 
function myIsArray (obj) {
	return obj instanceof Array;
}

18、Array.from()

此方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。

let arr1 = [1,2,3,4,5];
let str = 'hello';
let arr2 = Array.from(arr1);
let arr3 = Array.from(str);
console.log(arr2);  //[1,2,3,4,5]
console.log(arr3);  //['h','e','l','l','o']

19、Array.slice()

此方法可从已有的数组中返回选定的元素。

array.slice(start,end)
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。不会改变原数组。

let arr1 = [1,2,3,4,5];
let arr2 = arr1.slice(2,4); //返回下标2-4的元素,不包括下标为4的元素
console.log(arr1);  //[1,2,3,4,5]
console.log(arr2);  //[3,4]

总结

数组的常用方法已经分两次总结完了,如有缺漏或错误的话,欢迎在评论区指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值