自己刷掘金,对数组的常用方法总结,方便自己复习

133 阅读2分钟

// 数组的方法: //1.push(),可接收任意数量的参数,把它们逐个添加至数组末尾

var a = ['A', 'B'];

a.push('C');

a // ['A', 'B', 'C']

//2.pop(),取出最后一个元素并返回

var a = ['A', 'B'];

a.pop(); // B

a // ['A']

//3.shift 取出第一个元素并返回

var a = ['A', 'B'];

a.shift(); // A

a // ['B']

//4.unshift,在头部添加元素

var a = ['B'];

a.unshift('A');

a // ['A', 'B']

//5.splice() 它除了能添加元素之外,还具有删除和替换元素的功能(除了查不行其他的都可以) // splice()可传多个参数,第一个参数表示的是在数组中的起始位置(在数组中的索引,包含起始位置),第二个参数表示的是要删除的元素个数(添加时为0),后面的参数是要添加的元素(可传多个参数)

var a = ['A','B','C','D','E','F']

a.splice(2,2,"B","b")

a // [ 'A', 'B', 'B', 'b', 'E', 'F' ]

// 6.indexOf 这方法接受两个参数:第一个参数是要查找的项,第二个参数是表示从该索引开始往后找(可选的),如果不传就代表从前往后找,返回的是查找的索引值,找不到就返回-1 var a = ['A','B','C','D','A','F']

// var num = a.indexOf("A",2)

// num // -1

var num = a.indexOf("A")

num // 0

// 7. lastIndexOf() 这方法接受两个参数:第一个参数是要查找的项,第二个参数是表示从该索引开始往前找(可选的),如果不传就代表从后往前找,返回的是查找的索引值,找不到就返回-1

var a = ['A','B','C','D','A','F']

// var num = a.lastIndexOf("A",2)

// num // 0

var num = a.lastIndexOf("A")

num // 4

// 8. reverse() 将数组整个翻转过来,无参数

var a = ['A','B','C','D','A','F']

a.reverse()

a //[ 'F', 'A', 'D', 'C', 'B', 'A' ]

// 9. sort() 接受一个回调函数(可选),会将两个前后对比的结果返回,来确定是升序还是降序,一般用法:(不穿的话就会使用字符的第一个字符去判断)

var a = ['A','B','C','D','A','F']

a.sort((a, b) => {

if (a <= b ) { // 按某种排序标准进行比较, a 小于 b,如果是单纯的比较数字的可以直接用 (a,b) => a-b,如果是字符的话就不起作用了

return -1 ;

}

if (a > b ) {

return 1;

}

})

a // [ 'A', 'A', 'B', 'C', 'D', 'F' ]

// 10.forEach() 传一个回调函数进去,函数有三个参数

var a = ['A','B','C','D','A','F']

a.forEach(function(item,index,a) {

a[index] = item *2;//在这里改变数组

});