You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XMLHttpRequest操作JSON文件时findIndex始终返回-1问题咨询

问题原因

你遇到的问题是两个错误共同导致的:

  • 匹配的属性名写错了:你的JSON对象里没有name字段,你要匹配的价格对应的属性是price,你现在findIndex里判断的obj.name永远是undefined,自然匹配不到值
  • 数据类型不匹配:$('#price').val()从输入框拿到的值是字符串类型,而JSON解析后得到的price字段是数字类型,用严格相等===判断时,类型不一致会直接返回false

修复方案

把findIndex对应的代码改成下面的写法即可:

// 把obj.name改成obj.price,同时把输入的price显式转成数字类型匹配
var index = jsonArr.findIndex(obj => obj.price === Number(price));

额外注意:你现在写的jsonArr.splice(index)逻辑是从匹配到的索引位置开始,删除数组后续所有元素,如果你只需要删除匹配到的那一项,应该改成jsonArr.splice(index, 1)。

内容的提问来源于stack exchange,提问作者sokoviaaccords

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 07:27:03