javascript - 无法获取数组中对象的索引

标签 javascript ecmascript-6

我想如果我保留原始引用而不是简单地获取索引

const selected = {id: "abcd123", quantity: "5"};
const location = [
  {id: "abcd123", quantity: "3"},
  {id: "abcd1234", quantity: "3"},
];
const filterLocation = location.filter(loc => loc.id === selected.id);
console.log(location.indexOf(filterLocation));

我希望它会记录 0 但它总是返回 -1。它实际上是如何工作的?

最佳答案

首先 filterLocation 不包含任何与 location 相同的对象。它包括唯一具有相同 id 字段但 quantity 字段不同的对象。其次,indexOf 方法对于非标量参数不能正常工作。

关于javascript - 无法获取数组中对象的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48143250/

相关文章:

javascript - 在 Laravel 4 中使用 jquery Ajax

javascript - 如何知道何时从控制台调用 JavaScript 函数?

javascript - 动态创建的 JS 或 JQuery 中的独立 DOM 元素有哪些限制?

javascript - JS函数显示错误但没有返回,但不需要返回

javascript - 如何使用 Angular JS 处理表单中的多个提交按钮?

javascript - 当输入框为空时,我想在单击或按键(输入键)时发出警报

reactjs - React 无状态组件中的箭头函数语法

webpack - 如何让 Webpack 转译 ES6 代码?

javascript - 根据过滤键创建新对象

javascript - camelCase 到 kebab-case