js array 对象方法总结

1.push() 后增

push 向数组的末尾添加一个或多个元素,并返回新的长度 尾部添加

var a = [1,2,3]

var b = a.push(4)

console.log(a) // [1,2,3,4]

console.log(b) // 4

2.unshift() 前增

unshift 向数组的开头添加一个或多个元素,并返回新的长度 头部添加

var a = [2,3,4]

var b = a.unshift(0,1)

console.log(a) // [0,1,2,3,4]

console.log(b) // 5

3.pop() 后删

pop 删除并返回数组的最后一个元素 尾部删除,返回被删除的元素

var a = [1,2,3]

var b = a.pop()

console.log(a) // [1,2]

console.log(b) // 3

4.shift() 前删

shift 删除并返回数组的第一个元素 头部删除,返回被删元素

var a = [1,2,3]

var b = a.shift()

console.log(a) // [2,3]

console.log(b) // 1

5. splice() 修改删除

splice(index,length,增加的元素1,增加的元素2....,增加的元素N) 表示从index开始删除length个元素,并从index开始新增元素1~N,放回被删除的元素组成的数组

对数组进行删除修改,返回被删除的元素组成的数组,改变原数组

var a = [1,2,3,4,5,6]

var b= a.splice(1,3,8,[3,4,5])

console.log(a); //[ 1, 8, [ 3, 4, 5 ], 5, 6 ] 第二位从index开始删除length个元素,与此同时增加元素

console.log(b);  //[2,3,4]  //删除的元素

6.concat() 拼接

concat() 方法用来合并两个或多个数组

合并两个或多个数组,返回新数组,不会改变原数组

var a = [1,2,3]

var b = [4,5]

var c = a.concat(b)

console.log(a) // [1,2,3]

console.log(b) // [4,5]

console.log(c) // [1,2,3,4,5]

7.slice() 剪切  

slice(startIndex,endIndex)  返回从startIndex开始(包括),到endIndex(不包括)之间的元素组成的数组

返回新数组,不改变原数组

var a = [1,2,3]

var b = a.slice(0,2)

// 不填参数则表示剪切整个数组

var c = a.slice()

console.log(a) // [1,2,3]

console.log(b) // [1,2] 从0开始到2不包括2  输出下标0和1

console.log(c) // [1,2,3]

console.log(a===c) // false // 注意 a !== c

// 负数表示从后往前数

var d = a.slice(-1,-2)

console.log(d) // [] 从左向右截取,所以说为[]

var e = a.slice(-1)

console.log(e) // [3]

8.join()  数组转化为字符串

join() 方法用来将数组转换为字符串

不改变原数组,返回转换后的字符串

var a = [1,2,3,4,5]

console.log(a.join(',')) // 1,2,3,4,5

console.log(a) // [1,2,3,4,5]

​9.sort() 排序

按ascii码排序 改变原数组,返回排序后的数组

var a = ['a','b','d','c']

console.log(a.sort()) // ['a','b','c','d']

console.log(a) // ['a','b','c','d']

10.reverse() 颠倒顺序

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

返回的是颠倒后的数组,会改变原数组。

var a = [1,3,2,7,6]

console.log(a.reverse()) // [6,7,2,3,1]

console.log(a) // [6,7,2,3,1]

11.indexOf()和lastIndexOf()

indexOf(某元素,startIndex) 从startIndex开始,查找某元素在数组中的位置,若存在,则返回第一个位置的下标,否则返回-1

lastIndexOf(某元素,startIndex) 和indexOf()相同,区别在于从尾部向首部查询

不会改变原数组,返回找到的index,否则返回-1

若不使用下标,则一般通过includes()方法代替indexOf()

var a = [1,2,4,3,3,5,4]

console.log(a.indexOf(4)) // 2

console.log(a.indexOf(4,3)) // 6  第二个参数是查找的起始位置

12.filter() 过滤  根据条件判断

filter() 方法返回数组中满足条件的元素组成的新数组,原数组不变

filter()的参数是一个方法

var a = [1,2,3,4,11]

// 第一个参数为一个方法,有三个参数,current:当前值 index:当前值下标 array:这个数组对象

var b = a.filter(function(current,index,array){

return current < 10

})

console.log(b) // [1,2,3,4]

console.log(a) // [1,2,3,4,11]

13.map() 格式化数组  改变内容

map() 方法来根据需求格式化原数组,返回格式化后的数组。原数组不变

var a = [1,2,3,4,5]

// 参数同filter方法

var b = a.map(function(current,index,array){

return current + 1

})

console.log(b) // [2,3,4,5,6]

console.log(a) // [1,2,3,4,5]

14.every() 

 对数组的每一项都运行给定的函数,若每一项都返回 ture,则返回 true  任意不符合false

var a = [1,2,3,4,5]

var b = a.every(function(current,index,array){

return current < 6

})

var c = a.every(function(current,index,array){

return current < 3

})

console.log(b) // true

console.log(c) // false

15.some()

对数组的每一项都运行给定的函数,若存在一项或多项返回 ture,则返回 true  任一符合true

var a = [1,2,3,4,5]

var b = a.some(function(current,index,array){

return current > 4

})

var c = a.some(function(current,index,array){

return current > 5

})

console.log(b) // true

console.log(c) // false

16.forEach()  数组遍历

遍历整个数组,中途不能中断

var array = ['a', 'b', 'c'];

array.forEach(function(element) {
  console.log(element);  // a  b  c
});

17.toSrting()  

JS中的所有对象都具有toString方法,它把一个变量隐式转换为字符串

 var arr=["a","b","c","d"];

var string = arr.toString()

console.log(string)   //a,b,c,d

18. slice():

从已有的数组中返回指定的元素

var string = arr.slice(start,end)//start==>开始位置下标 end==>结束位置下标(不算)

var Arr = [1,2,3,4,5,6,7,8,9,10]

var subArr = Arr.slice(2,5)

console.log(subArr) [3,4,5]

19. reverse():  颠倒的数组顺序

var arr=[1,2,3,4,5,6,7,8,9]

var a = arr.reverse()  [9, 8, 7, 6, 5, 4, 3, 2, 1]

JS是否改变原数组的常用方法归纳 - 简书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值