通过javascript的字符串过滤json字段
filtering a field of json by a string with javascript
我试图通过javascript字符串过滤json字段。更清楚的是,我有一个搜索框,和一个假的返回json。当我按下输入框中的一些字母时,ajax调用应该根据输入字符串过滤我的假响应,因此我可以显示结果。
我的输入框和调用函数与我的假ajax响应工作正常。但是我很难过滤它。
var res = response.filter(function (i, n) {
return String(n.Name).toLowerCase().indexOf(String(srt).toLowerCase()) === 0;
});
这是我的假JSON响应:
[{ "Name": "ALICE", "Close": 7.12, "UpDown": 1 }, { "Name": "MICHAEL", "Close": 110.78, "UpDown": 1 }]
n.Name
返回undefined
。这样,res
就变成了一个有undefined
的对象。在这种情况下,如果我输入und
,所有的元素都显示出来;如果我输入其他内容,则没有元素可以通过过滤器。
为什么会发生这种情况,我该如何解决这个问题?
您混淆了.filter
语法。你可以在这里查看:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
第一个参数是值,第二个参数是索引。您的代码最终发生的情况是,您试图找到索引0的Name
属性,这导致了undefined
错误。
相关文章:
- 使用angularjs列出JSON中的字段值
- 创建一个带有可变字段的json对象
- 将一个html表转换为json对象并将其发送到php页面,该表有一个输入字段
- 编码为深度嵌套对象的 HTML 字段 json
- 从Node.js中的JSON数据中提取JSON字段
- 如何使用不同视图的JSON对象更新angular js中的全局JSON字段
- 将javascript中的JSON字段提取到变量中
- 有条件地在返回语句中包含 json 字段
- 某些 JSON 字段在命中 MVC 控制器方法时显示为 NULL
- 在特定情况下删除我的 json 字段
- Json + 谷歌地图 v3:显示多个 json 字段
- 可以'在GET响应中没有看到JSON字段(mongoose)
- 使用PUT和update()mongoose递增JSON字段
- 如何从json字段数组动态创建一个没有jquery的表单
- 通过javascript的字符串过滤json字段
- 用JSON填充DataTable时,需要在一个列中呈现一个超链接,并在另一个JSON字段中找到一个值
- 如何根据JavaScript中的值获取JSON字段的名称
- ";msg":"分析JSON字段值时出错.意外的OBJECT_START
- 用重音符号javascript读取json字段
- 烬-自动保存JSON字段