Google Apps脚本<=运算符问题

时间:2018-07-06 06:55:53

标签: javascript google-apps-script google-apps

我们正在编写一个函数,以W#-W#的格式(例如W1-10,W3-13等)从Google Spreadsheet列中解析星期几的指定。由于某些原因,应用脚本正在处理< =运算符几乎,就好像它是=运算符一样。

功能:

for (var row = 0; row < qBow.length; row++) {
  var wRange = qBow[row][6];
  var wRsplit = wRange.split('W').join('');
  var wNums = wRsplit.split('-');
  var currentWnum = activeSheet.getName().substring(1);

  Logger.log('row: ' + row + ' currentWnum: ' + currentWnum + ' wNums[0]: ' + wNums[0] + ' wNums[1]: ' + wNums[1]);

  if (currentWnum >= wNums[0] && currentWnum <= wNums[1]) {
    Logger.log('row: ' + row + ' currentWnum: ' + currentWnum + ' wNums[0]: ' + wNums[0] + ' wNums[1]: ' + wNums[1]);
  }
}

第一个Logger.log()的示例输出:

row: 8 currentWnum: 4 wNums[0]: 3 wNums[1]: 13
...
row: 12 currentWnum: 4 wNums[0]: 4 wNums[1]: 13
...
row: 18 currentWnum: 4 wNums[0]: 3 wNums[1]: 13
...
row: 20 currentWnum: 4 wNums[0]: 3 wNums[1]: 13
第二个Logger.log()的

完整输出:

row: 106 currentWnum: 4 wNums[0]: 4 wNums[1]: 5
row: 138 currentWnum: 4 wNums[0]: 2 wNums[1]: 4
row: 139 currentWnum: 4 wNums[0]: 2 wNums[1]: 4
row: 151 currentWnum: 4 wNums[0]: 3 wNums[1]: 4

如您所见,它跳过了所有行,除了currentWnum等于wNum [1]的行和一行wNum [1]等于5的行。我们测试了其中的替换wNums [1]的行。具有静态数字的条件语句,并且其行为正确。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您似乎在字符串上使用了private fun userRegistration(userRegistrationEntity: UserRegistrationEntity) { addAsyncTask(appDatabase!!).execute(userRegistrationEntity) } private class addAsyncTask constructor(private val appDatabase: AppDatabase) : AsyncTask<UserRegistrationEntity, Void, Long>() { override fun doInBackground(vararg params: UserRegistrationEntity): Long? { // val a = appDatabase.userRegistrationDao().addUser(params[0]); val newReturnId = appDatabase.userRegistrationDao().insertUser(params[0]); return newReturnId } override fun onPostExecute(result: Long?) { super.onPostExecute(result) Log.d("value", result.toString()) } } 。我希望可以按字典顺序对它们进行比较-例如,“ 13”小于“ 4”。

我建议您在进行任何比较之前将所有值转换为数字(例如,用<=)。这将适用于parseIntwNums中的每个元素。