2017-09-12 52 views
0

Javascript array value is undefined ... how do I test for that數組值是不確定的...我怎麼測試爲

How to check a not-defined variable in JavaScript

這些都是錯誤的,因爲就我而言:

我只得到: error

試圖:

console.log(!fromToParameters[7].value.firstInput); 
console.log(!!fromToParameters[7].value.firstInput); 
console.log(fromToParameters[7].value.firstInput === undefined); 
console.log(typeof fromToParameters[7].value.firstInput == 'undefined'); 
console.log(fromToParameters[7].value.firstInput !== undefined); 
console.log(typeof fromToParameters[7].value.firstInput != 'undefined'); 

但這(條目存在)正常工作:

console.log(!fromToParameters[0].value.firstInput); 
console.log(!!fromToParameters[0].value.firstInput); 
console.log(fromToParameters[0].value.firstInput === undefined); 
console.log(typeof fromToParameters[0].value.firstInput == 'undefined'); 
console.log(fromToParameters[0].value.firstInput !== undefined); 
console.log(typeof fromToParameters[0].value.firstInput != 'undefined'); 

假 真 假 真 假 真正

是它的反應是從JS不同的問題?爲什麼我不能在這些stackoverflow線程中做同樣的事情?因此你不能指向缺少的數組元素。

查看下面的答案。

我想我會使用一個array.lenght存儲在一個常量,然後我檢查我的增量反對它在我的「for」循環,以允許或不允許修改我的數組條目在個案的基礎上。

真的很煩人,你不能只問問js是否存在一個不存在的數組索引存在或不存在。

它看起來像這將是直截了當的東西:不能指向索引?那就不要。在這個索引處不存在這個變量或者任何其他變量。結束。

在js的傢伙絕對應該加入一個簡單的說明來添加一些東西。

我很想發佈我的代碼,因爲我有一些東西可以讓我做我想做的事情(調用一個有很多未定義的索引,而不是使用「s」來獲取對象),但它有點怪異。

+0

你肯定fromToParameters'的'大小至少8 – Makoto

+0

這不是它的下。我該如何測試一個變量數組指針的值不存在?這就是我需要的。 – tatsu

+0

等一下。等待等待。如果'fromToParameters'不是至少8個實體長,則不能索引到位置7。你從字面上*不能*做到這一點。你想要測試什麼***? – Makoto

回答

1

你應該做的一樣!這一點:?

console.log(fromToParameters[7] && fromToParameters[7].value.firstInput); 
console.log(!!fromToParameters[7] && fromToParameters[7].value.firstInput); 
console.log(fromToParameters[7]&& typeof fromToParameters[7].value.firstInput == 'undefined'); 

我剛纔說檢查所以,如果fromToParameters[7]undefinednull,你的代碼將不會打破

+0

它確實打破了。我不知道你在測試什麼,但它不是reactjs。在任何情況下,我將在我的數組的'length'上使用'if's來允許或不允許我的'for'循環中的變量的屬性。它應該完成這項工作,除非這意味着我無法將變量以某種方式歸結爲「未定義」。顯然沒有辦法處理這個問題。 – tatsu

+0

@tatsu我已經更新了我的答案。刪除了領先的'!'。 「這不是反應」,你的意思是什麼?反應不是JavaScript? – Ved

+0

好的。這實際上是好的:首先返回'undefined'第二個返回'false'(:> finally)並且最後一箇中斷:'不能讀取undefined'的屬性'值'。 – tatsu

1

檢查該指數第一(例如:執行console.log(yourArray [X]),則根據如果測試通過或失敗,接入/添加要索引/屬性

+0

無法正常工作,無論是我給它提供的數組上的哪個數字,總是返回true。 – tatsu

+0

如果索引存在,它應該返回false,如果索引不存在,則返回true。 –

+0

好吧,它不。你在reactjs應用程序中測試這個嗎? – tatsu

相關問題