【问题标题】:Array not returned properly(Titanium)数组未正确返回(钛)
【发布时间】:2012-12-21 01:00:16
【问题描述】:

我正在使用钛中的函数返回数组。我的数组中有两个条目显示警报,但是当我访问另一个 js 文件中的返回值时。它只在警报中显示一个值 这是我的代码(在 db.js 中):

function quizfun() {
    var dataArray=new Array();
    var quizes = db.execute('select * from Quiz');
    while (quizes.isValidRow()) {
        var counter = 0;
        dataArray[counter] = quizes.fieldByName('Quiz_Text');
        quizes.next();
        alert(dataArray[counter]);//Showing two values
        counter++;
    };
    return dataArray;
}

这是我的另一个js文件:

  quizes = db.quizfun();
  alert(quizes[0]);//working
  alert(quizes[1]);//alert not showing anything

你能告诉我我做错了什么吗?提前谢谢

【问题讨论】:

    标签: javascript android iphone arrays titanium


    【解决方案1】:

    var counter = 0; 应该在 while 循环之外。喜欢

    function quizfun() {
        var dataArray=new Array();
        var quizes = db.execute('select * from Quiz');
        var counter = 0;
        while (quizes.isValidRow()) {
            dataArray[counter] = quizes.fieldByName('Quiz_Text');
            quizes.next();
            alert(dataArray[counter]);//Showing two values
            counter++;
        };
        return dataArray;
    }
    

    【讨论】:

    • 完美答案只给我理由,以便我下次避免
    • 或者你可以去掉计数器,并利用 Array 的“push”方法:dataArray.push(quizes.fieldByName('Quiz_Test'));
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 2021-06-03
    • 2017-06-17
    • 2010-11-14
    • 1970-01-01
    相关资源
    最近更新 更多