2014-04-30 74 views
0

這是出於好奇。在下面的兩個檢查中,對於JavaScript中的非空數組,哪一個更可取?爲什麼?哪個更好的非空數組檢查條件,爲什麼?

  1. if(arr.length != 0)
  2. if(arr.length > 0)

因爲數組長度不能爲負,到現在爲止一直在使用我或者沒有真正困擾了。

謝謝!

+5

包含'if(arr.length)'也:-) – thefourtheye

+1

我個人認爲'if(arr.length> 0)'是可取的。你不關心沒有元素的情況,你已經知道他們不能有負面因素。你真正關心的是當數組有多個元素(即長度> 0) –

+0

讓人有很多的感覺獵人。看起來這裏的每個人都與當前的問題處於同一頁面!謝謝! – Kumar

回答

1

我想這取決於你;你喜歡哪個?有不應該不會有任何(明顯)差異「性能明智」(所以避免微優化,根,邪惡和所有這些事情)。

個人,對我來說那是,我發現arr.length > 0更清楚(more than 0 items in the array傳達的理念VS not 0 items in the array!運營商(更)容易被忽視我猜,可能會引起混亂而可能閱讀代碼的分配,也使得(非常少但仍然)不得不「表達」的心理開銷)。

話雖如此,任何值得他們的鹽的開發人員都不應該有任何問題。

+0

在願意提出這個問題之前,我覺得傾向於在代碼中的某個地方使用「大於零」的條件,與您的思路類似。現在猜猜我也可以依靠專家意見。感謝Roblll。 :) – Kumar

+0

我被稱爲專家! ♥我的專家徽章在哪裏? :P – RobIII

+0

繼續回答問題並通過重複編輯傳播您的知識!這是關鍵! :P – Kumar

1

if (arr.length)正在檢查是否有一個長度屬性,如果它檢查長度(如果一個數字)是否爲零。 if (arr.length != 0)完全等於if (arr.length)

if (arr.length > 0)將包括一個數學運算(或類似的東西),因爲你不僅檢查長度的存在,如果它可能爲零,你也檢查大小。

在這種情況下,if (arr.length > 0)更精確,但都相同。