学习目标:
学习目标
- 在 list 中根据项目需求,使用不同的方法进行查找及删除
学习内容:
内容
- 在 list 中根据项目需求,使用不同的方法进行查找
- 在 list 中根据项目需求,使用不同的方法进行删除
知识总结:
小结
- 1、在 list 中已知 id,查找对应的 name
假设你的list
数组中每个对象都有id
和name
属性,你可以使用 JavaScript 中的数组方法find
或filter
来实现根据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
// }
// })