使用 javascript/jQuery 测试函数的数组
Testing an array for a function with javascript/jQuery
我目前正在从文档中提取姓氏并将它们复制到用户脚本中的剪贴板,使用...
var txt = $('p.overview.text').text();
var lastName = txt.match(/Last Name: (.*)/)[1].split("First Name: ", 1);
GM_setClipboard(lastName);
但我想针对数组测试 lastName 以确保它不是 "I"、"II"、"III" 中的任何一个, "IV" 等等 因为给我文件和姓氏的系统有时会搞砸并给我罗马数字(而不是姓氏)如果这个人有一个(即 Jerry Louis VI = "VI" 而不是 "Louis").
在 运行 它出现在实际文档之前,我只是想先测试一下
var txt = $('p.overview.text').text();
var lastName = txt.match(/Last Name: (.*)/)[1].split("First Name: ", 1);
var lastNameVal = lastName[0]; // This is the correct variable for actual use
lastNameVal = "I"; // This is how I am testing it, will delete when done with testing
if (lastNameVal.text !== "I") {
GM_setClipboard(lastNameVal);
}
上面的工作原理是它在分配变量后检测到变量值为 "I"。但显然我需要针对一组罗马数字进行测试,可能会上升到 XII 左右。我尝试使用 || 在 if 语句中创建一个数组(或)运营商像这样进行测试...
if (lastNameVal !== "I" || "II" || "III") {
GM_setClipboard(lastNameVal);
}
但这不起作用...
实现这一目标的最佳方法是什么?谢谢
尝试:
if (!(lastNameVal == "I" || lastNameVal == "II" || lastNameVal == "III")) {
GM_setClipboard(lastNameVal);
}
保留一组罗马数字以供检查
var txt = $('p.overview.text').text();
var lastName = txt.split('Last Name:').pop().split("First Name:").shift().trim();
var romans = ["I","II","III","IV","V","VI","VII","VIII","IX"];
if (romans.indexOf(lastName) === -1) {
GM_setClipboard(lastName);
}
我目前正在从文档中提取姓氏并将它们复制到用户脚本中的剪贴板,使用...
var txt = $('p.overview.text').text();
var lastName = txt.match(/Last Name: (.*)/)[1].split("First Name: ", 1);
GM_setClipboard(lastName);
但我想针对数组测试 lastName 以确保它不是 "I"、"II"、"III" 中的任何一个, "IV" 等等 因为给我文件和姓氏的系统有时会搞砸并给我罗马数字(而不是姓氏)如果这个人有一个(即 Jerry Louis VI = "VI" 而不是 "Louis").
在 运行 它出现在实际文档之前,我只是想先测试一下
var txt = $('p.overview.text').text();
var lastName = txt.match(/Last Name: (.*)/)[1].split("First Name: ", 1);
var lastNameVal = lastName[0]; // This is the correct variable for actual use
lastNameVal = "I"; // This is how I am testing it, will delete when done with testing
if (lastNameVal.text !== "I") {
GM_setClipboard(lastNameVal);
}
上面的工作原理是它在分配变量后检测到变量值为 "I"。但显然我需要针对一组罗马数字进行测试,可能会上升到 XII 左右。我尝试使用 || 在 if 语句中创建一个数组(或)运营商像这样进行测试...
if (lastNameVal !== "I" || "II" || "III") {
GM_setClipboard(lastNameVal);
}
但这不起作用... 实现这一目标的最佳方法是什么?谢谢
尝试:
if (!(lastNameVal == "I" || lastNameVal == "II" || lastNameVal == "III")) {
GM_setClipboard(lastNameVal);
}
保留一组罗马数字以供检查
var txt = $('p.overview.text').text();
var lastName = txt.split('Last Name:').pop().split("First Name:").shift().trim();
var romans = ["I","II","III","IV","V","VI","VII","VIII","IX"];
if (romans.indexOf(lastName) === -1) {
GM_setClipboard(lastName);
}