javascript - 如何指定数组索引?
问题描述
如何获取数组的索引?现在我执行“blockCreate”函数的结果是未定义,我认为这是因为我没有指定数组的索引,虽然我应该得到正确,如何自动指示数组的索引?
import React, { useState } from "react";
import "./styles.css";
export default function App() {
const [array1, setArray1] = useState([{ number: 1 }]);
const [array2, setArray2] = useState([{ number: 2 }]);
const blockCreate = () => {
return array1.find(items => {
const bool = array2.find(i => i.number === items.number);
console.log(bool);
});
};
return (
<div className="App">
<div>{blockCreate()}</div>
</div>
);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
解决方案
Array.find() 不返回布尔值,而是返回与条件匹配的第一个元素。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find
你想要做的事情很模糊,但我认为你要找的是 Array.some() ,它返回一个布尔值。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some
推荐阅读
- javascript - 从 S3 getObject() 中检索图像不起作用
- amazon-web-services - 为 AWS ELB 生成公有/后端密钥
- java - android上的socket.io服务器
- git - Git revert 删除我的仓库中的每个文件
- javascript - 如何使用 javascript 创建 elementor 块
- java - 将 pdf 作为静态资源从在 docker 容器中运行的 spring 应用程序提供
- angular6 - 当我在组件的提供者中添加服务时出现没有提供者错误
- laravel - Laravel 5.7 使用不同于模型属性的表单字段进行验证
- r - R数据框如何将特定字符串格式化为日期时间
- swift - 如何保存变量的值?