這個問題在這里已經有了答案: 檢查陣列是否為空或存在 (22 個回答) 17 分鐘前關閉。
我在下面有這個代碼,我如何檢查它是否ar為空?
let ar2 = [];
const items = users[0]?.[2]?.itemList;
if (items) {
for (const [key, value] of Object.entries(items)) {
ar2.push(key, <br />);
}
}
如果我愿意console.log(ar2),它會顯示這個 []
如何檢查陣列是否為空,然后顯示訊息“這是空的”?
我試過這個,但它不能正常作業。即使大于或小于0,也會一直顯示“2”
{ar2 < 0 ? <>1</> : <>2</>}
uj5u.com熱心網友回復:
您可以先檢查它是否是一個陣列,然后您可以使用length屬性檢查是否為空
1)您可以先ar2使用靜態isArray函式檢查是否是陣列。因為您可以創建一個具有length屬性的物件,但它可能是也可能不是array
function isEmptyNotRecommended(obj) {
return obj.length === 0;
}
function isEmptyRecommended(obj) {
return Array.isArray(obj) && obj.length === 0;
}
const arr = { length: 0 };
// This is not an array but still returns true
console.log(isEmptyNotRecommended(arr));
// This should be recommended approach to check for array emptiness
console.log(isEmptyRecommended(arr));
RECOMMENDED SOLUTION
2)如果它是一個陣列,那么length在其上使用屬性是安全的。如果它的長度是more than 0那么它是not empty否則它是empty
您可以使用ar2.length === 0或!ar2.length
{
Array.isArray(ar2) && !ar2.length ? <>1</> : <>2</>;
}
uj5u.com熱心網友回復:
ar2.length 將顯示陣列中元素的數量。
你可以簡單地這樣做:
{ar2.length === 0 && 'This is empty'}
uj5u.com熱心網友回復:
該length屬性將回傳陣列中的專案數。
如果要檢查陣列是否為空,請檢查其length屬性是否為0。
{ar2.length == 0 ? <>1</> : <>2</>}
uj5u.com熱心網友回復:
您應該按照以下步驟操作:
- 如果
ar未定義? - 如果
ar是陣列 - 如果
ar為空
所有這些,你都會有這個條件:
ar2 !== undefined && Array.isArray(ar2) && ar2.length > 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/351315.html
標籤:javascript 反应
上一篇:從函式中獲取回傳的變數并放入document.write
下一篇:再次點擊后無法洗掉課程
