未捕获的TypeError:无法读取null的属性"1"

lol*_*l2x 6 javascript android titanium

我得到一个错误:Uncaught TypeError:无法读取null的属性'1'来源:X.push(check [1]);

问题是什么?

wspolrzedne.value =在textArea中键入的文本:"2.4 5 1 67 15 67"

所以也许问题是因为钛不能安全地用\n作为新线的字符串?

var coordinates = wspolrzedne.value.split( "\n" );
    var X = [];
    var Y = [];


    for( var i = 0; i < coordinates.length; ++i ) {
        var check = coordinates[ i ].match( /^([0-9]+.[0-9]*) ([0-9]+.[0-9]*)$/ ); 

        if( check == false) {
                var zlewspolrzedne = Ti.UI.createAlertDialog({
                title: "Niew?a?ciwe wspó?rz?dne: " + coordinates[ i ],
                buttonNames: ['Popraw'],
                cancel: 0
            });
            zlewspolrzedne.show();
        }

        X.push( check[ 0 ] );
        Y.push( check[ 1 ] );    

    }
Run Code Online (Sandbox Code Playgroud)

小智 2

这是因为textArea不关心linebreaks,它只是一个简单的空白。因此,解决方案是按' '进行分割,然后将它们中的每两个连接起来(或者将每对直接输入到检查数组并动态检查它们的内容)。

编辑:

好吧,问题就出在这一行:

var check = coordinates[ i ].match( /^([0-9]+.[0-9]*) ([0-9]+. [0-9]*)$/ )
Run Code Online (Sandbox Code Playgroud)

它只分配一个值而不是两个。