js 数组常用操作&遍历数组同时删除多个元素

1、向数组最后位置插入一个对象:

arr.push(obj);

2、删除数组最后一个对象(注意:pop 方法会返回被删除元素):

arr.pop();

3、splice 方法:splice(index,len,[item])
注释:该方法会改变原始数组,splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值
index:数组开始下标 len: 替换/删除的长度 item:替换的值,删除操作的话 item为空
(1)删除-------item 不设置

arr.splice(1,1);

(2)替换-------item设置为要替换的值

arr.splice(1,1,"ttt");         arr.splice(1,2,"ttt");

(3)添加-------len设置为0,item为添加的值

arr.splice(1,0,"ttt");

4、操作数组第一项
(1)shift()移除数组中第一个项并返回改项,同时将数组长度减1.

arr.shift();

(2)unshift()在数组前端添加任意个项并返回新数组的长度.

arr.unshift("str");

5、数字数组排序

//正序
arr.sort(function(n1,n2){
    return n1-n2;
});
//字符串数组
arr.sort();

6、数组链接

var arr1 = [1,2,3];
var arr2 = [4,5,6];
var arr3 = arr1.concat(arr2);  //arr3 = [1,2,3,4,5,6]

7、将数组元素拼接成字符串

var arr = [1,2,3];
var sArr = arr.join("-");  //sArr = "1-2-3"

8、遍历数组同时删除多个元素
项目中经常碰到一个数据遍历中要删除其中元素的情况,如果使用正序遍历,删除项的时候,数组长度减了1,但是下标i 却执行了++,导致删除i的下一项被跳了过去
总结几个遍历数组并同时删除指定元素的方法

方案一:ES6 提供的 filter 方法
let arr1 = [5,1,2,5,5,5,3,5,66,7,5,6];
arr1 = arr1.filter(item => item !== 5);

方案二:倒叙遍历,倒叙遍历的时候不管删了多少元素,没遍历的元素不会被跳过
let arr2 = [5,1,2,5,5,5,3,5,66,7,5,6];
for(let i = arr2.length-1;i>=0;i--){
    if (arr2[i] === 5) {
        arr2.splice(i, 1);
    }
}

方案三:正向遍历,在删除元素的同时,下标 i-- (使下标回退一个位置)
let arr3 = [5,1,2,5,5,5,3,5,66,7,5,6];
for(let i = 0;i<arr3.length;i++){
    if (arr3[i] === 5) {
        arr3.splice(i, 1);
        i--
    }
}
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值