我正在嘗試下面的代碼,但它沒有按預期作業。我想檢查單元格值是否有印度或美國或德國或瑞士然后進入,如果它是undefined,null或空白,或者它不包含文本位置,然后轉到else并將值設定為ROW,但它不起作用。
因此,即使單元格有 India 或 UnitedStatedofAmerica,每次它都會給我結果 ROW,當它為 null 時,它會進入真實條件并拋出錯誤進行拆分,因為 cell.Value 為 null
3 示例單元格.值
“Lorem Ipsum 只是印刷和排版的虛擬文本;位置印度,孟買;Lorem Ipsum 只是印刷和排版的虛擬文本Lorem Ipsum 只是印刷和排版的虛擬文本”
“位置印度;Lorem Ipsum 只是印刷和排版的虛擬文本Lorem Ipsum 只是印刷和排版的虛擬文本;Lorem Ipsum 只是印刷和排版的虛擬文本Lorem Ipsum 只是印刷和排版的虛擬文本”
“Lorem Ipsum 是簡單的印刷和排版的虛擬文本Lorem Ipsum 是簡單的印刷和排版的虛擬文本;Lorem Ipsum 是簡單的印刷和排版的虛擬文本Lorem Ipsum 是;位置美國;簡單的印刷和排版虛擬文本排版”
if (cell.Value.split('Location')[1].split(',')[0].replace(/\s/g, "") === "India" || cell.Value.split('Location')[1].split(',')[0].replace(/\s/g, "") === "Germany" || cell.Value.split('Location')[1].split(',')[0].replace(/\s/g, "") === "UnitedStatesofAmerica" || cell.Value.split('Location')[1].split(',')[0].replace(/\s/g, "") === "Switzerland" || cell.Value !== 'undefined' || cell.Value !== null || cell.Value !== "" || cell.Value.toLowerCase().indexOf("Location") !== -1) {
persona.country = cell.Value.split('Location')[1].split(',')[0].replace(/\s/g, "");
} else {
persona.country = "ROW"
}
uj5u.com熱心網友回復:
您可以使用一些變數和一系列通緝國家來簡化某些部分。
const
value = cell.Value || '',
country = value.split('Location')?.[1]?.split(',')[0].replace(/\s/g, ""),
countries = ["India", "Germany", "UnitedStatesofAmerica", "Switzerland"];
persona.country = countries.includes(country)
? country
: "ROW";
uj5u.com熱心網友回復:
if cell.Valueis nullor undefinedthen 呼叫.split會拋出錯誤。您可以在 to陳述句cell.Value的開頭添加一個虛假檢查。if
if(cell.Value && cell.Value.split...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/468969.html
標籤:javascript if 语句
