美文网首页
找出和删除相关数据

找出和删除相关数据

作者: Ropynn | 来源:发表于2020-07-01 15:46 被阅读0次

需求:删除指定id相关的数据

let data = [
    { id: 1, parentId: "" },
    { id: 2, parentId: 1 },
    { id: 3, parentId: 1 },
    { id: 4, parentId: 2 },
    { id: 5, parentId: 2 },
    { id: 6, parentId: 4 },
    { id: 7, parentId: 5 }
];

比如删除2相关的数据,那么只剩下[{ id: 1, parentId: "" },{ id: 3, parentId: 1 }]

function deleteId(data, id) {
    for (let i = data.length - 1; i >= 0; i--) {
        if (data[i].parentId === id) {
            const childrenId = data[i].id;
            data.splice(i, 1);
            deleteId(data, childrenId)
        } else if (data[i].id === id) {
            data.splice(i, 1)
        }
    }
}

deleteId(data, id)

console.log(data);

打印结果

[ { id: 1, parentId: '' }, { id: 3, parentId: 1 } ]

需求:找出指定id相关联的数据

function findId(data, id) {
    this.deleteId = function (data, id) {
        for (let i = data.length - 1; i >= 0; i--) {
            if (data[i].parentId === id) {
                const childrenId = data[i].id;
                data.splice(i, 1);
                this.deleteId(data, childrenId)
            } else if (data[i].id === id) {
                data.splice(i, 1)
            }
        }
        return data
    };
    this.filterId = function (data, newData) {
        return data.filter(item1 => newData.every(item2 => item2.id !== item1.id))
    };
    return this.filterId(data, this.deleteId([...data], id))
}

let test = findId(data, 2);
console.log('test', test);

打印

test [
  { id: 2, parentId: 1 },
  { id: 4, parentId: 2 },
  { id: 5, parentId: 2 },
  { id: 6, parentId: 4 },
  { id: 7, parentId: 5 }
]

相关文章

  • 找出和删除相关数据

    需求:删除指定id相关的数据 比如删除2相关的数据,那么只剩下[{ id: 1, parentId: "" },{...

  • 2019-07-21

    #将指定数据信息找出来,批量复制数据信息到指定目录/删除数据 批量删除数据命令: find /oldboy...

  • Neo4j-1.6 DELETE删除和REMOVE删除

    DELETE语句 DELETE语句可以: 删除节点 删除节点和相关节点和关系以下语法可以从数据库中永久删除节点和其...

  • redis使用技巧

    批量删除Keys 指定数据库删除Keys 远程批量删除Keys 动态查看redis连接数 找出比较大的Key

  • 2020-05-24 - EFCore保存数据提纲

    基本保存 添加数据 更新数据 删除数据 单个 SaveChanges中的多个操作(事务性) 相关数据 添加新实体和...

  • UI视图相关

    UI视图相关 UITableView 相关重用机制数据源同步(新闻类app, 数据删除)并发访问串行访问 时间传递...

  • kafka删除topic及其相关数据

    kafka删除topic及其相关数据 1、删除kafka存储目录(server.properties文件log.d...

  • 图片相关

    查询图片库数据 获取相关信息 扫描图片加入数据库 删除图片

  • 如何彻底删除vscoder

    1.删除扩展程序路径:C:\Users\Administrator.vscode 2.删除相关数据(设置)C:\U...

  • Sequelize | 7. 模型 - 更新、删除数据

    参考查询数据的所有条件筛选方法,即where相关的内容 更新数据 删除数据

网友评论

      本文标题:找出和删除相关数据

      本文链接:https://www.haomeiwen.com/subject/ftxhqktx.html