JS总结之数组中常用的技巧

1. push()

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

var a = [🍎,🍏,🍉]
a.push(🍉)
console.log(a);
//[🍎,🍏,🍉,🍉]

2. pop()

pop() 方法用于删除数组的最后一个元素并返回。

var a = [🍎,🍏,🍉,🍉]
a.pop()
console.log(a);
//[🍎,🍏,🍉]

3. shift()

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

var a = [🍎,🍏,🍉]
a.shift()
console.log(a);
//[🍏,🍉]

4. unshift()

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

var a = [🍏,🍉]
a.unshift(🍎,🍊)
console.log(a);
//[🍎,🍊,🍏,🍉]

5. sort()

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

var a = [🍏, 🍉, 🍏, 🍉]
a.sort()
console.log(a);
//[🍏,🍏,🍉,🍉]

6. reverse()

reverse() 方法用于颠倒数组中元素的顺序。

var a = [🍏,🍏,🍉,🍉]
a.reverse()
console.log(a);
//[🍉,🍉,🍏,🍏]

7.splice()

splice()删除、替换、添加

splice(index,howmany,item1,...,itemX)

index: 必需,整数,规定添加/删除项目的位置,使用负数可以从数组结尾处规定位置。
howmany: 必需,要删除的项目数量。如果设置为0,则不会删除项目。
item1,...,itemX: 可选。向数组添加的新项目。

☘️ 删除
var a = [🍉,🍉,🍏,🍏]
a.slice(0,1)
console.log(a);
//[🍉,🍏,🍏]
☘️ 替换
var a = [🍉,🍏,🍏]
a.splice(1, 1, '🍊')
console.log(a);
//[🍉,🍊,🍏]
☘️ 添加
var a = [🍉, 🍊, 🍏]
a.splice(1, 0, 🍇)
console.log(a);
//[🍉,🍇,🍊,🍏]

8. split()

split() 方法用于把一个字符串分割成字符串数组。

stringObject.split(separator,howmany)

separator: 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。separator是一个空字符时,会返回一个单字符的数组。
howmany: 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

var a = "🍉-🍉🍉-🍊🍊-🍏🍏-🍇🍇🍇";
var c = a.split("-",3);
console.log(c);
// [🍉,🍉🍉,🍊🍊]

9. slice()

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

arrayObject.slice(start,end)

start: 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end: 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。

1. 如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。
2. 如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
var d = [1, 2, 3, 4, 5, 6, 7]
var e;
e = d.slice(0, 1); //从下标0开始,截取1位
console.log(e); //[1]
e = d.slice(-4, -2); //截取-4到-2(不含-2)之间的元素
console.log(e); //[4, 5]
e = d.slice(-4, 5); //截取-4到5(不含5)之间的元素
console.log(e); //[4, 5]
e = d.slice(1, -1); //截取1到-1(不含-1)之间的元素
console.log(e); //[2, 3, 4, 5, 6]

10.indexOf()

indexOf()方法,得到数据的索引,找不到就返回-1。从开头(左)向后(右)查询。有两个参数(第一个:查询的参数,第二个:忽略当前位置之前的所有字符)

☘️ String

string的indexOf()是对数据进行了隐式转换,如果参数是数值它会转换为字符来进行查询然后返回索引,String.prototype.indexOf()使用的是==进行比较判断。

let str = '12341'
console.log(str.indexOf(1)) // 输出 0
console.log(str.indexOf('1')) // 输出 0
console.log(str.indexOf(1, 1)) // 输出 4 ---> 查询1(第一个1),从索引为1(第二个1)开始查询
☘️ Number

Number类型使用,使用indexOf()查找索引会报错。

let num = 1234
console.log(num.indexOf(1)) // 报错
console.log(num.indexOf('1')) // 报错
☘️ Array

Array使用indexOf()方法,是不会对数据进行隐式转换,Array.prototype.indexOf()使用的是===进行比较判断。

var arr = [1, 2, 3, '4', 1, 2]
console.log(arr.indexOf(3)) // 输出2
console.log(arr.indexOf('4')) // 输出3
console.log(arr.indexOf(4)) // 输出-1
console.log(arr.indexOf(1, 2)) // 输出 4 ---> 查询1,从索引为2开始查询

posted on 2024-09-27 17:58  梁飞宇  阅读(31)  评论(0)    收藏  举报