我遇到过以下一段JavaScript,想知道它在做什么:
function flipString(aString) {
var last = aString.length - 1;
var result = new Array(aString.length)
for (var i = last; i >= 0; --i) {
var c = aString.charAt(i)
var r = flipTable[c]
result[last - i] = r != undefined ? r : c
}
return result.join('')
}
答案 0 :(得分:3)
它看起来像某种加密/混淆。不知道filpTable
看起来像什么,很难说。
function flipString(aString) {
var last = aString.length - 1;
// Create a new array with the length of the string
var result = new Array(aString.length)
// Walk through the string backwards
for (var i = last; i >= 0; --i) {
// Get the current character
var c = aString.charAt(i)
// Find the associated character in the flipTable
var r = flipTable[c]
// If the character wasn't in the flip table, use it as-is, else use the one we found
// Store as (last-i) instead of (i) so it comes out backwards
result[last - i] = r != undefined ? r : c
}
// Return the result as a string instead of an array
return result.join('')
}
答案 1 :(得分:3)
它遍历从第一个字符到最后一个字符的字符串,同时将在每个索引处找到的字符存储在数组中。对于每个字符,如果数组“flipTable”具有与之关联的条目,则它使用flipTable条目而不是字符。然后将结果数组与''连接以形成一个字符串。
简单来说,它会反转一个字符串,同时将每个作为flipTable键的字符更改为与之关联的条目。为什么你这样做,我不知道没有上下文。
答案 2 :(得分:1)
看起来像一个简单的substitution cipher实现。 flipTable
包含替换字母表,函数逐步执行字符串中的每个字符,并将其替换为该字母表中的对应字符。