使用地图返回单个数组元素

问题描述 投票:-1回答:1

我正在尝试使用map从数组中返回单个元素,但不断出现null错误

到目前为止我有这个

var [headers] = recNoteSheets[recSh].getRange(i,1,1,20).getValues();//get all headers
var tempPref = "test "//temp session prefix variable for regexp REPLACE
var regExpCue = new RegExp(tempPref+"(\\w+)","gi");

//get sortId (cue name) column
var indx = headers.indexOf("SORT ID");
var sortIds = recNotes.map(function(x){
  return regExpCue.exec(x[indx])[1]
});

我对null为何引起问题感到困惑,因为我的理解是返回将不会返回null

编辑

因此在return语句之前添加在同一行中

  var testexec = regExpCue.exec(x[indx])[1];
  return (regExpCue.exec(x[indx])[1]);

testexec变量设置正确并有一个值,但是当在return中运行相同的语句时,它将出错。我不知道为什么

javascript google-apps-script
1个回答
0
投票

这里有两个可能的问题,但是由于没有人知道您的recNotes数组是什么样子,所以无法确定哪个是您的问题

问题一:x为空,所以x[indx]引发错误。

问题二:x[indx]为空,因此regExpCue.exec(x[indx])[1]引发错误。 regExpCue.exec(x[indx])返回null,所以您正在执行(null)[1],这将导致错误

© www.soinside.com 2019 - 2024. All rights reserved.