javascript - 在数组中查找不存在的对象,它返回不一致的值而不是未定义的。为什么?

标签 javascript arrays ecmascript-6 javascript-objects

<分区>

当我尝试在数组中查找不存在的对象元素时,显示的结果是不一致的,而不是 undefined ..,为什么?

const a = [{ id: 1, name: '1' }, { id: 2, name: '2' }, { id: 3, name: '3' }, { id: 4, name: '4' }]
const b = a.find(result => result.id = 100)
console.log(b)


// result { id: 100, name: '1' }

最佳答案

使用以下代码段。

const a = [{ id: 1, name: '1' }, { id: 2, name: '2' }, { id: 3, name: '3' }, { id: 4, name: '4' }];
const b = a.find(result => result.id === 100);
console.log(b);

你的错误是你在 Array.find 中使用 = 而不是 ===

关于javascript - 在数组中查找不存在的对象,它返回不一致的值而不是未定义的。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59618124/

相关文章:

javascript - 遍历对象 es6

javascript - 禁用 rangeslider.js 中的某些范围

javascript - Angularjs:提交后清除表单不起作用

在指定的初始值设定项中复制数组

涉及 map 和 reduce 的 Python 怪异

javascript - 使用 JavaScript 为类动态添加选择器

javascript - d3 ClipAngle 方法到底有什么作用?

java - 如何使用 JavaScript 访问保存在请求范围内的数组或列表?

java - 在java while循环中设置计数器的停止点

javascript - AngularJS ES6 语法中过滤器的未知提供程序错误