Javascript:$result.rows.item(x)变量类型是什么?
我有一个函数,可以读取和显示来自HTML5的WEBSQL的SELECT查询的内容。我想重用这个函数,但我遇到了一个问题,因为我得到的是一个JSON对象数组,我想将其转换为rows.item(),那么有人知道它是如何工作的吗 例如,我有一个JSON数组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":
"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];