数组操作(1)之JS删除数组指定子元素

前言:

这个也许在大多人眼中看是很简单,会的人可能会说这个一个遍历删除的事情,图省事的人就可能会说这个直接百度啊,网上一大堆答案。
那么问题就来了:我就是那个图省事的人,直接网上找答案的那种,猛然发现一个贼牛逼的方法,改变数组原生的方法,如下(不严谨示范):

雷区慎重

Array.prototype.indexOf = function(val) { 
	for (var i = 0; i < this.length; i++) { 
	if (this[i] == val) return i; 
	} 
	return -1; 
};
Array.prototype.remove = function(val) {
	var index = this.indexOf(val);
	if (index > -1) {
		this.splice(index, 1);
	}
};
arr=[1,2,3,4];arr.remove(4); //执行方法

上面方法不推荐啊,最好不要用,后果自负
方法虽然实现了,但是你没事就改原生的方法真的好吗?你能保证你们系统中有关数组操作的不会受影响吗?我只想说你保证个锤子。老老实实的往下看吧!

正确方法

极力推荐这中splice()方法去做:

function removeChildNum(valStr, Array_Data) {
        var getReturnData = [];
        getReturnData = Array_Data;
        for (var i in getReturnData) {
            if (valStr + "" == getReturnData[i] + "") {
                getReturnData.splice(i, 1);
            }
        }
        return getReturnData;
    }

自己定义的方法用起来一点都不慌!!!

延伸扩展(删除子数组)

【基于jquery实现】如何删除子数组或者存在交集数组的相同元素,二话不说直接上代码

//删除子数组,删除含有交集的数组相同元素
function removeChildArr(child_Arr, Array_Data) {
    var getReturnData = [];
    getReturnData = $.grep(Array_Data, function (v) {
        return 0 > $.inArray(v, child_Arr);
    }, false);
    return getReturnData;
}

验证,有图有真相

最后给各位看官大爷们看个测试效果图,防止你们再说我吹牛B
在这里插入图片描述
如果对您有一点点帮助,将是我创作的最大动力,可以的话烦请关注一哈哟,持续为您更新!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT黄大大

有您的支持我将毕尽一生精力为您

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值