JS实现数组/对象数组删除其中某一项

目录
  • 数组/对象数组删除其中某一项
  • 移除对象数组中指定元素

数组/对象数组删除其中某一项

由于日常工作中经常需要对数组进行操作,最经常使用到的就是对数组进行的删除操作

对于我们前端来说,数组有两种区别

  • 1、var arr = [ 'aaa' , 'bbb' , 'ccc' , ' ddd' , 'eee' ]  这种暂且称之为纯数组
  • 2、var jsonArr =  [ { name: 'cz' , age: '25'} , { name: 'mp' , age: '18'} , { name:'lyy' , age: '18' } ] 这种暂且称之为对象数组

首先,我们要删除数组中的某一项,我们一定要知道下边三种条件中的其中一种,才能达到精确删除的目的

1、知道要删除项在数组中的下标

2、知道要删除项的值

3、如果要删除项是一个对象,而且我们知道这个对象中的唯一属性值

//1、知道要删除项的下标值
//index为删除项的下标值  arr为源数组
var arrRemoveIndex = function(index,arr) {
    if (!arr || arr.length == 0) {
        return ""
    }
    arr.splice(index,1)
    return arr
}
 
//2、知道要删除项的值
//it 为要删除项的值  arr为源数组
var arrRemove = function (it, arr) {
    if (!arr || arr.length == 0) {
        return ""
    }
    let flag = arr.indexOf(it)
    if (flag > -1) {
        arr.splice(flag, 1)
        return arr
    } else {
        console.log("未查找到该元素")
    }
}
 
//3、如果要删除项为对象,我们需要知道该对象属性中的唯一值(不会重复的值)
//arr是源数组,attr是目标数组中的属性名称,value是要删除的属性名称对应的值
var arrRemoveJson = function (arr, attr, value) {
  if (!arr || arr.length == 0) {
    return ""
  }
  let newArr = arr.filter(function (item, index) {
    return item[attr] != value
  })
  return newArr
}
 
let arr = ['aaa','bbb','ccc','ddd']
let arrJson = [{ id: 1 , name: 'cz'},{ id: 2 , name: 'mp'},{ id: 3 , name: 'xp'}];
let newArr1 = arrRemoveIndex(1,arr);  // ['aaa','ccc','ddd']
let newArr2 = arrRemove('bbb',arr);   // ['aaa','ccc','ddd']
let newArr3 = arrRemoveJson(arr,'id','2') //[{id:1,name:'cz'},{id:3,name:'xp'}]

以上可以放到工具类,方便反复调用。

移除对象数组中指定元素

arr.splice(arr.findIndex(i => i.id === id), 1);

这些仅为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • JS传递对象数组为参数给后端,后端获取的实例代码

    前端JS代码: var conditons = []; var test1 = new Object(); test1.name="1"; test1.id="2"; var test2 = new Object(); test2.name="1"; test2.id="2"; conditons.push(test1); conditons.push(test2); $(function(){ $.ajax({ async:

  • JS实现json对象数组按对象属性排序操作示例

    本文实例讲述了JS实现json对象数组按对象属性排序操作.分享给大家供大家参考,具体如下: 在实际工作经常会出现这样一个问题:后台返回一个数组中有i个json数据,需要我们根据json中某一项进行数组的排序. 例如返回的数据结构大概是这样: { result:[ {id:1,name:'中国银行'}, {id:3,name:'北京银行'}, {id:2,name:'河北银行'}, {id:10,name:'保定银行'}, {id:7,name:'涞水银行'} ] } 现在我们根据业务需要,要根据

  • ajax获得json对象数组 循环输出数据的方法

    如下所示: var obj= [{id: 1, pId: 0, name: "采购商品", open: true}, {id: 2, pId: 1, name: "雨伞2", open: true}, {id: 2, pId: 1, name: "雨伞2", open: true}, {id: 2, pId: 1, name: "雨伞2", open: true}]; var x=''; $.each(obj, functio

  • JS数组操作大全对象数组根据某个相同的字段分组

    目录 先说点废话 目标对象数组 准换后的对象数组 编写函数的思路 方法一 方法二 拓展————ES6的新方法Object.keys 先说点废话 最近在实际业务中,需要编写一个方法根据数组中每一个对象的一个相同字段,来将该字段值相等的对象重新编入一个数组,返回一个嵌套的数组对象,特地来做个总结.当然需要注意的是,在开发过程这种数组的处理函数,应当被编写到项目的公共工具函数库中全局调用 目标对象数组 let dataArr = [{ id: 1, anyId: 1023, anyVal: 'fx67

  • js对象数组和对象的使用实例详解

    数组 var arr = new Array(); //或者 var arr = []; //或者 var arr = [{index:'0'},{address:'1'}]; var obj_1 = { index:'1', index:'2'}; var obj_2 = { index:'3', index:'3'}; arr.push(obj_1,obj_2); //添加 var pop_data = arr.pop(); //删除并返回数组的最后一个元素. //遍历 for(var i=

  • js 根据对象数组中的属性进行排序实现代码

    这篇文章主要介绍了js 根据对象数组中的属性进行排序实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 var arr = [ {name:'a',age:9}, {name:'b',age:12}, {name:'c',age:8} ]; arr.sort((a,b)=>{ return a.age - b.age }); function compare(property){ return function(a,b){ var

  • JS实现数组/对象数组删除其中某一项

    目录 数组/对象数组删除其中某一项 移除对象数组中指定元素 数组/对象数组删除其中某一项 由于日常工作中经常需要对数组进行操作,最经常使用到的就是对数组进行的删除操作 对于我们前端来说,数组有两种区别 1.var arr = [ 'aaa' , 'bbb' , 'ccc' , ' ddd' , 'eee' ]  这种暂且称之为纯数组 2.var jsonArr =  [ { name: 'cz' , age: '25'} , { name: 'mp' , age: '18'} , { name:

  • 以JSON形式将JS中Array对象数组传至后台的方法

    业务是需要将前台jQuery easyUI DataGrid列表中所选的若干行的数据传到后台进行update操作 通常情况下我们会获取所选取行对象的ID,通过循环及简单封装拼凑成一个长String传送过去,并在Service层解释再通过findByID获取实例并update 但今次我们需要将整个对象群完整的传输至后台 其结构如下 选用谷歌的GSON插件及json2.js搭配使用 前台代码如下,简洁起见已去除部分简单验证代码: 复制代码 代码如下: var rows = $('#dg1').dat

  • JS操作对象数组实现增删改查实例代码

    1.介绍 最近帮朋友弄一个简单的针对json数组的增删改成页面,正好涉及到了js去操作对象数组实现增删改查功能.我估计很多朋友应该也会遇到这类操作,所以记录一下以便分享. 2.数据准备 这里我就以学生对象数组为例了,其实这个数组和json数组操作起来基本一致的,转换一下即可.例如可以使用JSON.parse将一串JSON字符串转换为js对象数组. 测试数据: // 学生对象数组 var students = [ {id:1, name: "张三", age: 14}, {id:2, n

  • JS实现的JSON数组去重算法示例

    本文实例讲述了JS实现的JSON数组去重算法.分享给大家供大家参考,具体如下: 需求描述:去除JSON数组中paymode字段相同的项,并将paymoney累加. paylist:[{paymode:'1',payname:"现金",paymoney:"20"}, {paymode:'2',payname:"支付宝",paymoney:"50"},{paymode:'1',payname:"现金",paym

  • js内置对象 学习笔记

    mark相关的知识点: 首先,什么是js的内置对象,它包括了些什么内容?(以下内容转自网上资源的整合) (W3shool JS手册地址:http://www.jb51.net/w3school/js/js_reference.htm) 作为一门编程语言,JavaScript提供了一些内置的对象和函数.内置对象提供编程的几种最常用的功能.JavaScript内置对象有以下几种. ● String对象:处理所有的字符串操作 ● Math对象:处理所有的数学运算 ● Date对象:处理日期和时间的存储

  • js删除对象/数组中null、undefined、空对象及空数组方法示例

    这两天在项目中遇到后台需要传的数据为不能有null,不能有空值,而这个数据又是一个庞大的对象,对组集合,所以写了个方法来解决这个问题.为了兼具所有的种类类型,封装了方法,代码如下: let obj = { a: { a_1: 'qwe', a_2: undefined, a_3: function (a, b) { return a + b; }, a_4: { a_4_1: 'qwe', a_4_2: undefined, a_4_3: function (a, b) { return a +

  • Js的Array数组对象详解

    本文为大家分享了关于Js的Array数组对象的相关资料,供大家参考,具体内容如下 1. 介绍 1.1 说明 数组是值的有序集合.每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引.JavaScript数组是无类型:数组元素可以是任意类型,并且同一个数组中的不同元素也可能有不同的类型. --<JavaScript权威指南(第六版)> 1.2 定义方式 var names = new Array("张三", "李四", "王五&

  • js中数组插入、删除元素操作的方法

    实例如下: /* * 删除数组元素:Array.removeArr(index) */ Array.prototype.removeArr = function (index) { if (isNaN(index) || index>= this.length) { return false; } this.splice(index, 1); } /* * 插入数组元素:Array.insertArr(dx) */ Array.prototype.insertArr = function (in

  • js array数组对象操作方法汇总

    js 数组对象操作方法如下: 1. 创建数组 var array1 = [1,2] //方法一 var array2 = new Array() //方法二 array[0] = 1; array[1] = 2; 2.遍历数组 for循环 和for...in 循环 var array1 = [1,2]; var l = array1.length; //for循环 for(var i=0;i< l;i++){ console.log(array1 [i]); } //for...in 循环 fo

随机推荐