2011-06-29 7 views

答えて

6
function checkIndex(arrayVal, index){ 
    if(arrayVal[index] == undefined){ 
     alert('index '+index+' is undefined!'); 
     return false; 
    } 
    return true; 
} 

//use it like so: 
if(checkIndex(john, 3)) {/*index exists and do something with it*/} 
else {/*index DOES NOT EXIST*/} 
+2

タイプをキャストしようとしないでください! ==の代わりに===を使用してください。 – japrescott

+0

「配列のインデックスが範囲外です」および「配列が定義されていません」という要素は、別の方法で処理する必要があります。こちらをご覧ください:http://stackoverflow.com/questions/6728424/array-out-of-bounds-comparison-with-undefined-or-length-check –

6
if (typeof yourArray[undefinedIndex] === "undefined") { 
    // It's undefined 
    console.log("Undefined index: " + undefinedIndex; 
} 
+2

彼の質問キャッチしてみました:どのように私は渡されたインデックスの値がないことを示すメッセージまたは警告を表示することができます** を** – ssapkota

+0

"配列のインデックスが範囲外です"および "配列が '定義されていない'要素を持つ"は、別の方法で処理する必要があります。こちらをご覧ください:http://stackoverflow.com/questions/6728424/array-out-of-bounds-comparison-with-undefined-or-length-check –

0

アレイは、0から始まるインデックスが付けられていない1

アレイ内の3つの要素があります。彼らは以下のとおりです。

john[0] // asas 
john[1] // gggg 
john[2] // ggg 
1

Javascriptの配列は0から始まりますので、あなたの配列が内容0が含ま - 'のASAS'、1 - 'GGGG'、2 - 'GGG' を。

2

Javascriptが

try 
    { 
    //your code 
    } 
catch(err) 
    { 
    //handle the error - err i think also has an exact message in it. 
alert("Error"); 
    } 
+0

または配列の長さを確認してください。 –

+0

if(somearray.length <3){then do something} –

+1

インデックスを誤って捕まえてしまい、それを飲み込むのはちょっとした解決策です。このようなプログラミングはバグにつながります。配列の長さをチェックする方がいいです! – mortb

1
var john = ['asas','gggg','ggg']; 
var index=3; 
if (john[index] != undefined){ 
console.log(john[index]); 
} 
関連する問題