Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:$result.rows.item(x)变量类型是什么?_Javascript_Json_Web Sql - Fatal编程技术网

Javascript:$result.rows.item(x)变量类型是什么?

Javascript:$result.rows.item(x)变量类型是什么?,javascript,json,web-sql,Javascript,Json,Web Sql,我有一个函数,可以读取和显示来自HTML5的WEBSQL的SELECT查询的内容。我想重用这个函数,但我遇到了一个问题,因为我得到的是一个JSON对象数组,我想将其转换为rows.item(),那么有人知道它是如何工作的吗 例如,我有一个JSON数组 "retdic":[{"row_index":0,"lname":"Mato","age":26,"gender":"M","pic":"cyborg.jpg","fname":"Shibiru"}, {"row_index":

我有一个函数,可以读取和显示来自HTML5的WEBSQL的SELECT查询的内容。我想重用这个函数,但我遇到了一个问题,因为我得到的是一个JSON对象数组,我想将其转换为rows.item(),那么有人知道它是如何工作的吗

例如,我有一个JSON数组

"retdic":[{"row_index":0,"lname":"Mato","age":26,"gender":"M","pic":"cyborg.jpg","fname":"Shibiru"},
          {"row_index":1,"lname":"Taro","age":30,"gender":"M","pic":"folder_wrench.png","fname":"Ichigo"},
          {"row_index":2,"lname":"Joni","age":27,"gender":"M","pic":"naruto.jpg","fname":"Perez"},
          {"row_index":3,"lname":"Sakura","age":24,"gender":"F","pic":"folder_table.png","fname":"Haruka"},              
          {"row_index":4,"lname":"Naruto","age":20,"gender":"M","pic":"naruto.jpg","fname":"Uzumaki"}]
如何将其转换为类似$result.rows.item()的格式?item()不是数组,因为如果它是数组,则应该是item[]

更新


利用杰夫的想法和帮助,我想出了如何做到这一点。请参见

确定,因此假设数组和item()函数之间的唯一区别是一个是数组,另一个是函数(我假设您使用item()作为“$result.rows.item(3)”来获取第四行),这非常简单。 只需定义一个函数,它接受一个参数i并返回数组中索引i处的项。 因此:


您不需要转换此对象,您可以通过以下方式访问数据:

$result.retdic[0].lname // 0 - row number
或在循环中:

var i,item;
for (i in $result.retdic) {
  item = $result.retdic[i];
  console.log(item.fname)
}
注意:如果您愿意,可以将“retdic”键重命名为“rows”

$res = {"rows":[
  {"name": "a"},
  {"name": "b"},
  {"name": "c"}
]};


var someKey = 'name',
valueOfSomeKey = $res.rows[rowNumberHere][someKey];

嗨,杰夫,谢谢你,这很有效。但我希望该函数类似于$result.rows.item()。我尝试了var$result.rows.item=函数(i){return retdic[i]},但它不起作用。你能帮我吗?谢谢,但这不是我想要的。但无论如何,感谢你的时间,irishkaI投票支持了你的问题,因为这对我有很大帮助,你也分享了jeff的想法。这对我完全有效。我正在将json数据从ios本机代码传递到Javascript,网页使用result.rows.item(x)来检索它,这就成功了。谢谢Mate,我只需更改一点var result=Object(); 结果['rows']=Object();结果['rows']['length']=jsonResult.length;结果['rows']['item']=函数(i){return jsonResult[i]};
$res = {"rows":[
  {"name": "a"},
  {"name": "b"},
  {"name": "c"}
]};


var someKey = 'name',
valueOfSomeKey = $res.rows[rowNumberHere][someKey];