jQuery 每个函数用于单个和多个元素

标签 jquery json each

我有两种类型的 JSON 结果:

{
 "person":{
  "fname": "Homer",
  "lname": "Simpson"
  }
 }

{
 "person":[
  {
  "fname": "Homer",
  "lname": "Simpson"
  },
  {
  "fname": "Marge",
  "lname": "Simpson"
  }
  ]
 }

我想使用 jQuery“each”:

$.each(response.person, function(i, person){...

但是当 JSON 具有一个人和多个人时,“i”和“person”是不同的。 我看到单人响应没有数组“[]”,但是当我:

$.each([response.person], function(i, person){...

那么多人就不行了。 我正在寻找一种标准化事物的方法,以便我可以一致地使用“each”。

最佳答案

理想情况下,您最初会得到一个数组,但您始终可以将结果.concat到一个空数组。这将使您能够一致地循环:

$.each([].concat(response.person), function(i, person){...

http://jsfiddle.net/MtzH8/

关于jQuery 每个函数用于单个和多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16550019/

相关文章:

Javascript 语法在 Safari/Webkit 中无效,但在 Chrome/Firefox 中工作正常

jquery(each和eq)在switch中一起使用

javascript - 如何编写这个以在 onclick 上工作

javascript - 当输入值以编程方式更改时触发更改事件?

java - java中json文档中叶节点的所有路径的输出列表

c# - 如何使用 jquery 和 Web API 上传文件

javascript - 在 jquery 中的特定时间间隔的每次迭代中停止 .each 执行?

jquery - 如何在选择器中使用 jQuery 变量

javascript - 如何在完整日历中创建可滴色?

javascript - 如果匹配公共(public)值,Vanilla Javascript 将 JSON 数组对象合并到嵌套数组中