在 list 中根据项目需求,使用不同的方法进行查找及删除

学习目标:

学习目标

  • 在 list 中根据项目需求,使用不同的方法进行查找及删除

学习内容:

内容

  1. 在 list 中根据项目需求,使用不同的方法进行查找
  2. 在 list 中根据项目需求,使用不同的方法进行删除

知识总结:

小结

  • 1、在 list 中已知 id,查找对应的 name
    假设你的 list 数组中每个对象都有 idname 属性,你可以使用 JavaScript 中的数组方法 findfilter 来实现根据 id 查找对应的 name。下面是两种方法的示例代码:

使用 find 方法:

const targetItem = list.find(item => item.id === id);
const name = targetItem ? targetItem.name : '';

find 方法接受一个回调函数作为参数,该回调函数用于判断当前元素是否为要找的元素。在这里,我们通过 item => item.id === id 的写法来找到具有目标 ID 的元素。

如果找到了目标元素,则返回该元素对象,否则返回 undefined。我们可以通过三元运算符来处理这种情况,如果找到元素则取出其 name 属性的值,否则返回空字符串。

使用 filter 方法:

const targetItems = list.filter(item => item.id === id);
const name = targetItems.length > 0 ? targetItems[0].name : '';

filter 方法用于返回符合条件的所有元素,而不是像 find 方法只返回第一个符合条件的元素。我们可以通过 targetItems.length > 0 来判断是否有符合条件的元素,如果有,则取第一个元素的 name 属性的值,否则返回空字符串。

综上所述,这两种方法都可以用来根据 id 找到对应的 name,只是处理方式稍有不同。具体选择哪种方法,可以根据实际情况来确定。

  • 2、//根据id删除数据
    //分析:1、如何根据id,找到索引 2、找到索引,通过splice删除
    //方法一:some函数,找到指定的数据,然后终止寻找
    this.list.some((item,i) => {
    if(item.id == id){
    this.list.splice(i,1)
    return true;
    }
    })
    //方法二:快速找到索引
    // this.list.findIndex((item)=>{
    // if(item.id == id){
    // return true
    // }
    // })
  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的学生管理类。它使用ArrayList来存储学生信息,并提供添加、删除查找学生的方法。 ``` import java.util.ArrayList; public class StudentManager { private ArrayList<Student> studentList; public StudentManager() { studentList = new ArrayList<Student>(); } public void addStudent(Student student) { studentList.add(student); } public void removeStudent(Student student) { studentList.remove(student); } public Student findStudentById(int id) { for (Student student : studentList) { if (student.getId() == id) { return student; } } return null; } public ArrayList<Student> findStudentByName(String name) { ArrayList<Student> resultList = new ArrayList<Student>(); for (Student student : studentList) { if (student.getName().equals(name)) { resultList.add(student); } } return resultList; } public ArrayList<Student> findStudentByAge(int age) { ArrayList<Student> resultList = new ArrayList<Student>(); for (Student student : studentList) { if (student.getAge() == age) { resultList.add(student); } } return resultList; } public ArrayList<Student> findStudentByBirthday(String birthday) { ArrayList<Student> resultList = new ArrayList<Student>(); for (Student student : studentList) { if (student.getBirthday().equals(birthday)) { resultList.add(student); } } return resultList; } } ``` 这里使用了一个Student类来表示学生信息。可以根据需要调整它的属性和方法,使其更符合实际需求。 现在我们可以使用这个类来管理学生信息,例如: ``` // 创建一个学生管理对象 StudentManager manager = new StudentManager(); // 添加一些学生 manager.addStudent(new Student(1, "张三", 20, "2000-01-01")); manager.addStudent(new Student(2, "李四", 21, "1999-12-31")); manager.addStudent(new Student(3, "王五", 20, "2000-01-02")); // 查找学号为2的学生并删除 Student student = manager.findStudentById(2); if (student != null) { manager.removeStudent(student); } // 查找所有年龄为20的学生 ArrayList<Student> students = manager.findStudentByAge(20); for (Student s : students) { System.out.println(s.getName()); } ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值