array find php,详解ES6中Array.find()和findIndex()函数用法

本文详细介绍了ES6中新增的find()和findIndex()函数,通过实例展示如何在数组中查找指定元素及其位置,包括查找数值、NaN以及使用回调函数进行条件判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ES6为Array增加了find(),findIndex函数。find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined,而findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。下面通过实例详解,需要的朋友参考下吧

ES6为Array增加了find(),findIndex函数。

find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined。

findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。

他们的都是一个查找回调函数。[1, 2, 3, 4].find((value, index, arr) => {

})

查找函数有三个参数。

value:每一次迭代查找的数组元素。

index:每一次迭代查找的数组元素索引。

arr:被查找的数组。

例:

1.查找元素,返回找到的值,找不到返回undefined。const arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

var ret1 = arr1.find((value, index, arr) => {

return value > 4

})

var ret2 = arr1.find((value, index, arr) => {

return value > 14

})

console.log('%s', ret1)

console.log('%s', ret2)

结果:

undefined

2.查找元素,返回找到的index,找不到返回-1。var ret3 = arr1.findIndex((value, index, arr) => {

return value > 4

})

var ret4 = arr1.findIndex((value, index, arr) => {

return value > 14

})

console.log('%s', ret3)

console.log('%s', ret4)

结果:

4

-1

3.查找NaN。const arr2 = [1, 2, NaN, 4, 5, 6, 7, 8, 9, 10, 11]

var ret5 = arr2.find((value, index, arr) => {

return Object.is(NaN, value)

})

var ret6 = arr2.findIndex((value, index, arr) => {

return Object.is(NaN, value)

})

console.log('%s', ret5)

console.log('%s', ret6)

结果:

NaN

2

### CIFAR-10 数据集概述 CIFAR-10 是一个广泛用于图像分类任务的小型数据集,包含 60,000 张彩色图片,分为 10 类,每类有 6,000 张图片[^1]。这些图片被划分为训练集(50,000 张)和测试集(10,000 张)。由于其规模适中且涵盖了多种类别,因此非常适合初学者以及研究者用来验证算法性能。 #### 使用 PyTorch 自动下载 CIFAR-10 数据集的方法 通过 PyTorch 提供的功能模块 `torchvision.datasets` 可以轻松实现 CIFAR-10 的自动化加载过程。以下是具体代码示例: ```python from torchvision import datasets, transforms import torch # 定义预处理操作 transform = transforms.Compose([ transforms.ToTensor(), # 将 PIL 图像转换成张量 transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)) # 归一化到 [-1, 1] ]) # 加载训练集与测试集 train_dataset = datasets.CIFAR10(root='./data', train=True, download=True, transform=transform) test_dataset = datasets.CIFAR10(root='./data', train=False, download=True, transform=transform) # 创建 DataLoader 对象以便于批量读取数据 batch_size = 64 train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=batch_size, shuffle=True) test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=batch_size, shuffle=False) ``` 上述脚本展示了如何定义必要的变换函数并调用 `datasets.CIFAR10()` 方法完成本地存储路径指定、是否为训练模式设定 (`train`) 和自动下载选项启用 (^1) 。接着构建了两个迭代分别对应训练样本集合及其标签序列形式的数据流管理工具实例对象即 DataLoaders 实现高效访问机制支持随机打乱顺序等功能特性满足实际需求场景下的灵活性要求。 ### 总结与展望 综上所述,借助现代深度学习框架如 PyTorch ,可以非常便捷地获取并准备诸如 CIFAR-10 这样的经典计算机视觉基准数据资源来开展实验探索工作流程简化程度显著提升有助于专注于核心模型设计优化环节而非繁琐耗时的手动准备工作之上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值