数组的增删改查方法总结

 增

  前三种会对原数组产生影响,第四种不会产生影响。

  • push()
  • unshift()
  • splice()
  • concat()

push()

push()方法接受任意数量的参数,并将它们添加到数组末尾,原数组将会被改变返回的是新数组的长度。

let colors = [];
let count = colors.push('red','green','yellow')
console.log(colors);
console.log(count);

输出结果:
[ 'red', 'green', 'yellow' ]
3

 

 

unshift()

unshift()将会在数组开头添加任意多个值,返回新数组的长度。

let colors = ['bule'];
let count = colors.unshift('red','green','yellow')
console.log(colors);
console.log(count);  

输出结果:
[ 'red', 'green', 'yellow', 'bule' ]
4


splice()

 splice()用作增加数组成员时传入三个参数,分别是开始位置,要操作的元素数量,插入的元素,返回一个空数组

let colors = ['red','green','yellow'];
let removed = colors.splice(1,0,'blue')
console.log(colors);
console.log(removed);

输出结果:
[ 'red', 'blue', 'green', 'yellow' ]
[]

 

concat()

concat()会创建一个当前数组的副本,然后再把它得到的参数添加到副本的末尾,然后返回这个新构建的数组,不会影响原数组。

let colors = ['red','green','yellow'];
let colors2 = colors.concat('blue',['pink','purple'])
console.log(colors);
console.log(colors2);

输出结果:
[ 'red', 'green', 'yellow' ]
[ 'red', 'green', 'yellow', 'blue', 'pink', 'purple' ]

 

 

前三种会影响原数组,最后一种不影响原数组:

  • pop()
  • shift()
  • splice()
  • slice()

 

pop()

pop()方法删除数组的最后一项,返回被删除的项。

let colors = ['red','green','yellow'];
let colors2 = colors.pop()
console.log(colors);
console.log(colors2);

输出结果:
[ 'red', 'green' ]
yellow

 

shift()

shift()删除数组的第一项,返回被删除的项。

let colors = ['red','green','yellow'];
let colors2 = colors.shift()
console.log(colors);
console.log(colors2);

输出结果:
[ 'green', 'yellow' ]
red

 

splice()

 splice()用作删除数组成员时传入两个参数,第一个是开始位置,第二个是要操作的元素数量,

返回包含被删除元素的数组。

let colors = ['red','green','yellow'];
let colors2 = colors.splice(0,2)
console.log(colors);
console.log(colors2);

输出结果:
[ 'yellow' ]
[ 'red', 'green' ]

 

slice()

 slice()可传入两个参数,第一个是开始位置,第二个是结束位置,第二课参数为可选,则默认作用范围是从开始位置一直到结束,不会影响原数组,返回包含选中元素的新数组。

注:两个参数的作用区间可以理解为取到左闭右开区间。

let colors = ['red','green','yellow'];
let colors2 = colors.slice(1)
let colors3 = colors.slice(1,2)
console.log(colors);
console.log(colors2);
console.log(colors3);

输出结果:
[ 'red', 'green', 'yellow' ]
[ 'green', 'yellow' ]
[ 'green' ]

 

即修改原数组内容,常用splice()

 splice()传入三个参数,分别是开始位置,要删除的元素数量,要插入的任意个元素,返回包含删除元素的数组。

let colors = ['red','green','yellow','pink'];
let colors2 = colors.splice(1,2,'purple','orange')
console.log(colors);
console.log(colors2);

输出结果:
[ 'red', 'purple', 'orange', 'pink' ]
[ 'green', 'yellow' ]

 

 即查找元素,返回元素坐标或者元素值

  • indexof()
  • includes()
  • find()

indexof()

  indexof()返回要查找的元素再数组中的位置,如果没找到会返回-1

let num = [1,2,3,4,5];
let result = num.indexOf(3)
let result2 = num.indexOf(6)
console.log(result);
console.log(result2);

输出结果:
2
-1

 

includes()

返回要查找的元素在数组中的位置,找到返回true,否则返回false.

let num = [1,2,3,4,5];
let result = num.includes(3)
let result2 = num.includes(6)
console.log(result);
console.log(result2);

输出结果:
true
false

find()

 find()对数组中的每个元素都调用一次函数执行,然后返回第一个匹配到的元素,没有符合的则返回undefined,之后的元素并不会执行回调,不会影响原数组。

let num = [1,2,3,4,5];
let result = num.find(item => item>2 )
let result2 = num.find(item => item>6)
console.log(result);
console.log(result2);

输出结果:
3
undefined

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值