我有java脚本代码,用于根据某个值过滤数组。
在此我将一行代码null
分配给名为_(obj.boardingPoints).map('location').intersection(json[0]).value().length > 0
的变量
st
并在代码中替换变量var st='_(obj.boardingPoints).map('location').intersection("'+json[0]+'").value().length > 0'
以过滤数组
st
但它会在此行中引发意外的标识符错误
var tresult = _.filter(result, function(obj) {
return
st||_(obj.droppingPoints).map('location').intersection(dpLocations).value().length > 0
|| _.includes(busTypes, obj.busType)
|| _.includes(operatorNames, obj.operatorName);
});
“
答案 0 :(得分:2)
好的,请参阅评论中的回复。我认为我有足够的信息来写答案,假设json [i]是一个字符串数组:
var tresult = _.filter(result, function(obj) {
return _(obj.boardingPoints).map('location').intersection(json[i]).value().length > 0
|| _(obj.droppingPoints).map('location').intersection(dpLocations).value().length > 0
|| _.includes(busTypes, obj.busType)
|| _.includes(operatorNames, obj.operatorName);
});
您可以将表达式分配给变量,但我认为在这种情况下没有任何实际好处。但是,如果您确实坚持将表达式赋值给变量,请将其保留为表达式,将其转换为字符串将无效。以下是将第一个表达式赋给变量的代码:
var tresult = _.filter(result, function(obj) {
var st = _(obj.boardingPoints).map('location').intersection(json[i]).value().length > 0;
return
st || _(obj.droppingPoints).map('location').intersection(dpLocations).value().length > 0
|| _.includes(busTypes, obj.busType)
|| _.includes(operatorNames, obj.operatorName);
});
答案 1 :(得分:0)
查看语法突出显示您尝试在单引号内使用单引号。试试这个:
var st='_(obj.boardingPoints).map("location").intersection("'+json[0]+'").value().length > 0'