JavaScript find()方法及返回数据实例

 更新时间:2020年04月30日 08:35:55   作者:林中有风  
这篇文章主要介绍了JavaScript中的find()方法和返回数据的内存指向,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

顾名思义就是 查找传入的对应数据

当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。

如果没有符合条件的元素返回 undefined

// 定义一个需要被查找的数组
var memoList = [{
        id: 1, name: '1'
      },{
        id: 2, name: '2'
      },{
        id: 3, name: '3'
      }]
// 用 editItem 变量将 查找出来的数据进行接收
var editItem = memoList.find((ele) => {
               return ele.id == 2 
            })  
// 打印 editItem 得到的结果是 {id: 2, name: '2'}

这看起来和没什么区别呀。。。

但是~~

// 我们修改 接收后的值 editItem 的值
editItem.name = '我是修改后的'

// 我们再打印一下 editItem 
console.log( editItem )  // {id: 2, name: '我是修改后的'}

感觉很正常嘛~

然后我们再打印一下 被查找的数据 memoList

console.log(memoList) 
// [{id: 1, name: "1"}, {id: 2, name: "我是修改后的"}, {id: 3, name: "3"}]

// 看得没 memoList 内的数据也被修改了

这里就反应出 fine() 方法返回的结果内存指向依然是 memoList 所指向的内存地址

所有这里返回的是浅拷贝的数据

注意: find() 对于空数组,函数是不会执行的。

注意: find() 并没有改变数组的原始值。

浏览器支持

表格中的数字表示支持该方法的第一个浏览器版本号。

方法          
find() 45.0 12.0 25.0 7.1 32.0

注意: IE 11 及更早版本不支持 find() 方法。

array.find(function(currentValue, index, arr),thisValue)

参数

参数 描述
function(currentValue, index,arr) 必需。数组每个元素需要执行的函数。
函数参数:

 

参数 描述
currentValue 必需。当前元素
index 可选。当前元素的索引值
arr 可选。当前元素所属的数组对象
thisValue 可选。 传递给函数的值一般用 “this” 值。
如果这个参数为空, “undefined” 会传递给 “this” 值

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 通过实例了解Javascript柯里化流程

    通过实例了解Javascript柯里化流程

    这篇文章主要介绍了通过实例了解Javascript柯里化流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Object.defineProperty()函数之属性描述对象

    Object.defineProperty()函数之属性描述对象

    这篇文章主要介绍了Object.defineProperty()函数之属性描述对象,JavaScript 提供了一个内部数据结构,用来描述对象的属性,控制它的行为,比如该属性是否可写、可遍历等等。这个内部数据结构称为:属性描述对象
    2022-09-09
  • 在Monaco Editor中实现断点设置的方法详解

    在Monaco Editor中实现断点设置的方法详解

    Monaco Editor 是 vscode 等产品使用的代码编辑器,功能强大(且复杂),由微软维护,本文在 React + TypeScript(Vite)框架下使用 @monaco-editor/react 并介绍开发断点显示时踩到的坑,文中有详细的代码示例供大家参考,需要的朋友可以参考下
    2024-04-04
  • vue.config.js文件重写打包工具配置信息

    vue.config.js文件重写打包工具配置信息

    vue.config.js是一个可选的配置文件,可以在其中定义一些自定义的配置选项,本文就来介绍一下如何配置,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • YUI Compressor压缩JavaScript原理及微优化

    YUI Compressor压缩JavaScript原理及微优化

    最近写一个jQuery插件,在最后完成优化时,对比发现压缩后文件比较大,就思考那些是可以被修改和优化的,发现压缩原理也有很大的空间可以学习
    2013-01-01
  • 清除浏览器缓存的几种方法总结(必看)

    清除浏览器缓存的几种方法总结(必看)

    下面小编就为大家带来一篇清除浏览器缓存的几种方法总结(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • js判断一个对象是数组(函数)的方法实例

    js判断一个对象是数组(函数)的方法实例

    这篇文章主要给大家介绍了关于利用js如何判断一个对象是数组(函数)的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用JS具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • 使用SVG基本操作API的实例讲解

    使用SVG基本操作API的实例讲解

    下面小编就为大家带来一篇使用SVG基本操作API的实例讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 详解JS如何解决大数据下滚动页面卡顿问题

    详解JS如何解决大数据下滚动页面卡顿问题

    之前遇到不分页直接获取到全部数据,前端滚动查看数据,页面就挺卡顿的,所以这篇文章来和大家聊聊如何解决这一问题,感兴趣的小伙伴可以了解下
    2023-07-07
  • javascript实现简单加载随机色方块

    javascript实现简单加载随机色方块

    这篇文章主要介绍了javascript实现简单加载随机色方块的相关资料,感兴趣的小伙伴们可以参考一下
    2015-12-12

最新评论