JS 数组删除某一个元素

JS 删除数组中某一个元素

注意:很多人误以为数组的pop()方法可以删除指定元素,实则不是这样,虽然你给他传参也不会报错,但是它始终删除的是数组中的最后一个元素。

方式一: 在Array原型对象上添加删除方法

    // 查找指定的元素在数组中的位置
	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);
         }
     };
	// demo使用
	var arr = [1, 2, 3, 5, 6, 'abc', 'ert'];
	arr.remove('abc');
	/************** 打印输出 arr ***************/
		[1, 2, 3, 5, 6, "ert"]
	/************** 打印输出  ***************/

方式二: ES6的简介写法

	var arr = [
        {
           id: 1,
           name: 'Janche'
         },
         {
          	id: 2,
          	name: '老王'
         }
      ]
	arr.splice(arr.findIndex(e => e.id === 1), 1) // 将删除id等于1的选项
	/************** 打印输出 arr ***************/
	{	
		id: 2, 
		name: "老王"
	}
	/************** 打印输出  ***************/

你可能感兴趣的:(JavaScript学习笔记)