首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >对于带有键的数组,使用.inArray()?

对于带有键的数组,使用.inArray()?
EN

Stack Overflow用户
提问于 2018-11-22 09:17:44
回答 1查看 41关注 0票数 0

我尝试检查具有多个键和值的数组是否包含重复项,如果是这样的话,我不希望将重复项推送到数组中。

下面是我目前所做的(在项目的循环中运行):

代码语言:javascript
运行
AI代码解释
复制
let positionArray = [], positionId="X", projectTitle="Title", xPosition=5, yPosition=10;
positionArray.push({
  "Id": positionId,
  "projectName": projectTitle,
  "xPosition": xPosition,
  "yPosition": yPosition
});
console.log($.inArray(positionId, positionArray));
代码语言:javascript
运行
AI代码解释
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

现在所有的逻辑都告诉我,当我运行循环时,我应该在控制台中看到"-1“以外的东西,但它每次都会返回"-1”。我试图弄清楚这是否仅仅是因为.inArray()只适用于没有键的数组,而不是幸运的。

我在这里做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2018-11-22 09:23:11

不管您对inArray()的看法如何,我总是建议您使用Array的原型函数来查找索引,即:findIndex()

代码语言:javascript
运行
AI代码解释
复制
let positionArray = [], positionId="X", projectTitle="Title", xPosition=5, yPosition=10;
positionArray.push({
  "Id": positionId,
  "projectName": projectTitle,
  "xPosition": xPosition,
  "yPosition": yPosition
});
var index = positionArray.findIndex(item => item.Id === positionId);
console.log(index);
代码语言:javascript
运行
AI代码解释
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53427459

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文