[英]Javascript Uncaught TypeError: Cannot read property 'length' of undefined (using an array)
[英]JavaScript Array - Uncaught TypeError: Cannot read property 'length'
我正在開發使用內部數據庫的Cordova / Phonegap應用程序...通常,我會執行查詢,然后以這種方式讀取結果:
for (var i=0;i<results.rows.length;i++)
{
name=(results.rows.item(i).name);
alert(name);
}
由於RANDOM()
SQLite函數給我帶來了問題 ,所以我決定自己弄亂結果:
function shuffle(array) {
var counter = array.length, temp, index;
// While there are elements in the array
while (counter > 0) {
// Pick a random index
index = Math.floor(Math.random() * counter);
// Decrease counter by 1
counter--;
// And swap the last element with it
temp = array[counter];
array[counter] = array[index];
array[index] = temp;
}
return array;
}
var resultArray = [];
for(var x=0; x < results.rows.length; x+=1) {
resultArray.push(results.rows.item(x));
}
var res = shuffle(resultArray);
for (var i=0;i<res.rows.length;i++){
name=(res.rows.item(i).name);
}
錯誤:
Uncaught TypeError: Cannot read property 'length' of undefined
為什么會這樣呢? 我該如何解決呢? 謝謝!
var res = shuffle(resultArray);
for (var i=0;i<res.length;i++){
name=(res.item(i).name);
}
如果是這樣的話 ?
或更好
var res = shuffle(resultArray);
for (var i=0;i<res.length;i++){
name=(res[i].name);
}
如果不是,請在控制台中顯示您所擁有的
var res = shuffle(resultArray);
console.log(res);
for (var i=0;i<res.length;i++){
name=(res[i].name);
console.log(res[i]);
}
PS,請記住,所有值都設置在單個變量“名稱”中-因此它們會互相踢
您只將resultArray推送到沒有行的項目,因此您只需要通過resultArray本身進行遍歷。
resultArray.push(results.rows.item(x));
為此用途:
var res = shuffle(resultArray);
for (var i=0; i < res.length; i++) {
name = (res[i].name);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.