0
我有一个HTML表我试图创建一个函数。我将遍历所有的列名,如果它们包含我的数组中的单词,那么我将相应地将该列值转换为格式化的链接。Javascript测试值数组
function createLink(field, val){
// Create a mapping of our data
var output = {
'ntid': 'https://example.com/profile/'+val,
'email': 'mailTo:' + val
};
// Test and return values
// pseudo code
if(field matches a key partially in output){
return '<a href="'+output[value]+'" target="_blank">'+[val]+'</a>';
}else{
return 'No Matches';
}
}
// Examples
createLink('NTID', 'bob'); // '<a href="https://example.com/profile/bob" target="_blank">bob</a>';
createLink('Sup NTID', 'bob'); // '<a href="https://example.com/profile/bob" target="_blank">bob</a>';
createLink('Email', '[email protected]'); // '<a href="mailTo:[email protected]" target="_blank">[email protected]</a>';
createLink('Sup Email', '[email protected]'); // '<a href="mailTo:[email protected]" target="_blank">[email protected]</a>';
我怎么可能去测试值,看它是否有部分匹配在我output
数组,然后返回它的格式的链接?
由于这些列名是动态的,可以随时更改,所以我只想测试部分文字而不是确切的字符串。
如果没有匹配,我可以返回一个占位符值,如“不匹配”。
你可以使用的indexOf检查,如果值是在对象。防爆。 if(output.indexOf(string)=== -1) {//不匹配} else {//匹配} 注意。如果您使用对象的键值进行检查,这将不起作用。 –
@ 9focuspoints - 这会告诉我它是否在那里,但是如何直接访问它以获得价值? – SBB
使用表达式与我旗新的RegExp(valueToCheck.replace(/[.?*]/克, “\ $ 1”), “I”) –