js对象数组查找某一元素的各种方法(不改变原数组)

 更新时间:2024年06月13日 10:23:57   作者:慢慢雨夜  
前端经常要通过javaScript来处理数组中的数据,其中就包括检查数组中是否包含满足特定搜索条件的单个或者多个值,这篇文章主要给大家介绍了关于js对象数组查找某一元素的各种方法,文中介绍的方法不改变原数组,需要的朋友可以参考下

find()方法

这个方法会返回数组中第一个符合条件的元素,如果没有符合条件的元素则返回undefined。

const arr = [{name: '张三', age: 20}, {name: '李四', age: 30}, {name: '王五', age: 25}]
const result = arr.find(item => item.name === '李四')
//result = {name: '李四', age: 30}

filter()方法

这个方法会返回符合条件的元素组成的新数组,如果没有符合条件的元素则返回空数组。

const arr = [{name: '张三', age: 20}, {name: '李四', age: 30}, {name: '王五', age: 25}]
const result = arr.filter(item => item.age > 20)
// result = [{name: '李四', age: 30}, {name: '王五', age: 25}]

some()方法

这个方法会返回一个布尔值,表示数组中是否存在至少一个符合条件的元素。

const arr = [{name: '张三', age: 20}, {name: '李四', age: 30}, {name: '王五', age: 25}]
const result = arr.some(item => item.name === '李四')
// result = true

findIndex()方法

这个方法会返回数组中第一个符合条件的元素的索引,如果没有符合条件的元素则返回-1。

const arr = [{name: '张三', age: 20}, {name: '李四', age: 30}, {name: '王五', age: 25}]
const result = arr.findIndex(item => item.name === '李四')
// result = 1

forEach()方法

这个方法可以遍历整个数组,通过判断每一个元素是否符合条件来找到目标元素。

const arr = [{name: '张三', age: 20}, {name: '李四', age: 30}, {name: '李四', age: 66}]
let result
arr.forEach(item => {  if (item.name === '李四') {
    result = item
  }
})
// result = {name: '李四', age: 66}

注意:以上方法都不会改变原数组,如果想要改变原数组可以使用splice()方法。

附:js检查对象数组中的每个对象是否包含另一个数组中的属性,并取出相同的值

检查数组对象是否包含另一个数组的值,并取出相同的数组对象。

例子:

返回结果:

[{name:"zangsan",age:"18"},{name:"wangwu",age:"12"}]

js代码:

const movies  = [
{name:"zangsan",age:"18"},
{name:"zhaoliu",age:"21"},
{name:"wangwu",age:"12"}
];
const filters = ["zangsan", "wangwu"];
const res = movies.filter(
  movie => Object.values(movie).some(v => filters.includes(v))
);

console.log(res);

总结

到此这篇关于js对象数组查找某一元素的各种方法的文章就介绍到这了,更多相关js对象数组查找某一元素内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用controller接收js传过来的参数问题

    使用controller接收js传过来的参数问题

    这篇文章主要介绍了使用controller接收js传过来的参数问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 微信小程序仿抖音短视频切换效果的实例代码

    微信小程序仿抖音短视频切换效果的实例代码

    这篇文章主要介绍了微信小程序仿抖音短视频切换效果,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • js如何实现淡入淡出效果

    js如何实现淡入淡出效果

    这篇文章主要介绍了原生js如何实现淡入淡出效果,文章为大家提供了一个已经封装好的代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • JavaScript实现公历转农历功能示例

    JavaScript实现公历转农历功能示例

    这篇文章主要介绍了JavaScript实现公历转农历功能,涉及javascript日期与时间相关操作及运算操作技巧,需要的朋友可以参考下
    2017-02-02
  • 详解微信小程序应用和页面生命周期

    详解微信小程序应用和页面生命周期

    生命周期是指一个对象从创建→>运行>销毁的整个阶段,强调的是一个时间段,文中介绍了生命周期的分类和微信小程序应用,需要的朋友可以参考下
    2022-08-08
  • 如何动态加载外部Javascript文件

    如何动态加载外部Javascript文件

    这篇文章主要介绍了如何动态加载外部Javascript文件,本文举例讲解使用js加载器动态加载外部Javascript文件,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • 基于JS实现移动端向左滑动出现删除按钮功能

    基于JS实现移动端向左滑动出现删除按钮功能

    最近在做移动端项目时,需要实现一个列表页面的每一项item向左滑动时出现相应的删除按钮,其实实现此功能很简单的。这篇文章主要介绍了基于js实现移动端向左滑动出现删除按钮,需要的朋友可以参考下
    2017-02-02
  • javascript实现信息的显示和隐藏如注册页面

    javascript实现信息的显示和隐藏如注册页面

    信息的显示和隐藏在某些时候还是比较使用的,就比如注册信息,下面有个不错的示例,感兴趣的朋友可以了解下
    2013-12-12
  • 使用documentElement正确取得当前可见区域的大小

    使用documentElement正确取得当前可见区域的大小

    如何取得当前浏览器里面可见区域的大小?其他方法都不适用,只有documentElement才可以,需要的朋友可以参考下
    2014-07-07
  • js数组的基本使用总结

    js数组的基本使用总结

    这篇文章主要给大家介绍了关于js数组的基本使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01

最新评论