我前几天在JavaScript申请测试中遇到的一个问题是:
您将如何从“示例”一词中选择n-字符?
这里有趣的是,有很多不同的方法可以做到这一点。我一直忘记的一个是您可以直接访问字符串的索引。这在JavaScript和php!
中起作用
'example'.substr(1,1) // (from, how many characters)
'example'.substring(1,2) // (from, to)
'example'.at(1)
'example'.split('')[1] // split turns it into an array
[... 'example'][1] // convert to array via spread
'example'[1] // 🤯
现在,在检查字符串是一定长度时,通常使用长度属性,但是您也可以简单地检查索引是否存在,以使其短。
let str = 'example';
let amount = 4;
if (str.length > amount) {
console.log('string is long enough');
}
if (str[amount + 1]) {
console.log('string is long enough');
}
问题是表现是否更好。同样,长度钻头可能会使它更具可读性。
其他问题是,零索引可能会令人困惑(因此是amount+1
),并且当您使用索引时,您不会返回布尔值,而是字符或undefined
。因此,如果您想将其写为函数,则需要写一些类似的内容:
const isXlong = (str, y) => str[y + 1] ? true : false;
这使其再次不可读取。