我得到一个错误:未捕获的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 ] );
}
答案 0 :(得分:2)
这是因为textArea
并不关心linebreaks
,它只是一个简单的空白。因此解决方案是按''进行拆分,然后将其中的每两个连接起来(或者将每对直接提供给检查数组并动态检查其内容)。
编辑:
好的,问题是这一行:
var check = coordinates[ i ].match( /^([0-9]+.[0-9]*) ([0-9]+. [0-9]*)$/ )
它只分配一个值而不是两个。