亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用循環 Javascript 中的變量檢查對象中的屬性

如何使用循環 Javascript 中的變量檢查對象中的屬性

繁星淼淼 2023-09-07 17:06:08
我正在嘗試訪問對象屬性,在循環中創建變量以從 Excel 數據中獲取單元格編號。但問題是有些在 ws[cell] 中有 'v' 屬性,如果沒有,就會出現錯誤。錯誤類型現在是 TypeError,我認為這是因為它沒有“v”。我已經嘗試過條件,但出現錯誤的原因與我猜測的相同。我想解決這個問題。當沒有“v”時,它只是通過循環,否則它會打印我知道我可以使用 xlsx.utils.sheet_to_json 來簡化它,但我想知道我是否可以在 JS 中解決這個問題..請幫忙提前謝謝!這是我的代碼。   const xlsx = require('xlsx');let wb = xlsx.readFile('coupang_1.xlsx');let sheetName = wb.SheetNameslet ws = wb.Sheets[sheetName[0]];let refernceCell = ws[Object.keys(ws)[0]];let range = refernceCell.substring(3,5);let firstChr = range.charCodeAt(0);let secondChr = range.charCodeAt(1);let chr1 = '';let chr2 = '';let cellNum = firstObj.substring(5);let limit = 90;let cell = '';for(let n=1; n<=cellNum; n++){    for(let i=64 ; i<=firstChr; i++){      chr1 = String.fromCharCode(i);        if(i==firstChr){           limit = secondChr;        }else{          limit = 90;        }        if(i==64){          chr1 = '';        }        for(let j=65; j<=limit; j++){          chr2 = String.fromCharCode(j);          cell = chr1+chr2+n;          let cellobj = ws[cell];          console.log(cell);          let b = 'v' in cellobj;          (b)?console.log('got it'):console.log('nope');  }}}fraction of resultD2got itE2C:\Users\q1\Documents\workspace\Practice\spread\sheet-to-json.js:57          let b = 'v' in cellobj;                      ^TypeError: Cannot use 'in' operator to search for 'v' in undefined    at Object.<anonymous> (C:\Users\q1\Documents\workspace\Practice\spread\sheet-to-json.js:57:23)單元格 d2 沒有“v”屬性。
查看完整描述

2 回答

?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

正如我們從未定義的錯誤中看到的cellobj。因此,要解決此問題,您需要設置一個條件cellobj。喜歡


for (let j = 65; j <= limit; j++) {

  chr2 = String.fromCharCode(j);

  cell = chr1 + chr2 + n;

  let cellobj = ws[cell];

  if (cellobj) {

    let b = "v" in cellobj;

    b ? console.log("got it") : console.log("nope");

  }

}


查看完整回答
反對 回復 2023-09-07
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

正如當前錯誤消息所示,問題在于 is cellobj,undefined因此您無法in對其應用運算符。

我想真正的問題在于該cell = chr1+chr2+n行,您可能想console.log(cell)檢查手機號碼的真正拼寫是什么。

祝你好運!


查看完整回答
反對 回復 2023-09-07
  • 2 回答
  • 0 關注
  • 123 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號