私は基本的な問題を絞りました。配列の範囲はIE9とFireFox(とChrome)が異なります。javascript配列の範囲はIE9とFireFox/Chromeが異なります
以下の関数(抜粋のみ)では、配列を宣言してから$ .getJSON()を呼び出して配列を宣言します。 HoldEmを参照している行はProcessArray関数内(boolSortArray分岐内)で発生するため、私はその時点でsortedWorkingが利用可能であると推測しています。それはIE9にありますが、FireFox/Chromeではありません。引用された行で、sortedWorkingはFireFox/Chromeで空です。どのブラウザでもエラーは発生しません。
実験では、sortedWorkingは "$ .getJSONの終わり"と書かれた行の直前に配置され、その行の直後は空であることが示されています。何かご意見は?
function ProcessArray(arWorking, boolSortArray, idX, isPartners, isChildren) {
//...
var sortedWorking = [];
if(boolSortArray) {
$.getJSON('MurakiMaida.json', function(data) {
$.each(data.person, function(i, xdata) {
...
sortedWorking.push(targetID + ":" + birthYear);
...
}); //end of $.each
}); //end of $.getJSON
var HoldEm = BubbleSort(sortedWorking);
データの例も私たちと共有しますか?配列が '、'で終わるとIEが混乱することを知っていましたか?明らかに(私はWindowsを使用しません)、IEのものは配列 '[1,2、]'の長さが3です。実際には問題を引き起こしているデータかもしれません。 –
良い点ですが、JSONLintを使用してデータを検証するので、私の場合はチャンスではありません。そして覚えています - それはIE9です。 –