![](/img/trans.png)
[英]How to check if values in an array is exists in an array in jquery/javascript
[英]Check if array exists in json Javascript/Jquery
我有來自twitter API的json文件。 有時它確實具有media [0]數組,有時則沒有。 如果是這樣,我想將數組添加到另一個數組中,以便提醒它,否則我希望它檢查下一個數組。
這是我嘗試過的方法,但是還不能正常工作。
if(twitter.statuses[key].entities.media[0].media_url!=="Uncaught TypeError: Cannot read property '0' of undefined"){
console.log(twitter.statuses[key].entities.media[0].media_url);
}
它一直在給出錯誤:Uncaught TypeError:如果介質數組不存在,則無法讀取未定義的屬性“ 0”,否則它將正常工作並繼續下去。
有人知道如何解決這個問題嗎?
感謝您的幫助!
之所以收到錯誤,是因為您想要檢索...的第一個元素……什么都沒有(twitter.statuses [key] .entities.media [0];媒體已經為null,並且您無法訪問null的第一個元素)
嘗試檢查
if (typeof twitter.statuses[key].entities.media != "undefined") {
...
未定義的屬性具有undefined
類型和值,您可以像這樣檢查它:
if (twitter.statuses[key].entities.media !== undefined) {
// ...
}
或像這樣:
if (typeof twitter.statuses[key].entities.media !== "undefined") {
// ...
}
我建議您始終初始化變量以檢查null或未定義的值。 在您的情況下:
var media0 = twitter.statuses[key].entities.media[0] || null;
if(media0 != null){
if(media0.media_url != null)
console.log(twitter.statuses[key].entities.media[0].media_url);
else
console.log('twitter.statuses[key].entities.media[0].media_url is null or not defined');
}
else
console.log('twitter.statuses[key].entities.media[0] is null or not defined');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.