HJ21 简单密码
注意'Z'后面是'a'
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void async function () {
// Write your code here
while(line = await readline()){
const infos = {
a:2,
b:2,
c:2,
d:3,
e:3,
f:3,
g:4,
h:4,
i:4,
j:5,
k:5,
l:5,
m:6,
n:6,
o:6,
p:7,
q:7,
r:7,
s:7,
t:8,
u:8,
v:8,
w:9,
x:9,
y:9,
z:9,
};
let result = "";
[...line].forEach(char=>{
const num = char.charCodeAt();
if(num > 96){
result += infos[char];
}
else if(num > 64){
result += char == 'Z' ? 'a' : String.fromCharCode(char.toLowerCase().charCodeAt()+1);
}
else{
result += char
}
})
console.log(result);
}
}()
HJ22 汽水瓶
只有手中有两个空瓶的时候才需要向老板借,借了也能换。
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', function (line) {
if(line != 0){
let count = +line,result = 0;
while(count > 2){
const num = count /3 | 0;
result += num;
count -= num*2;
if(count == 2){
count++;
}
}
console.log(result);
}
});
HJ23 删除字符串中出现次数最少的字符
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void async function () {
// Write your code here
while(line = await readline()){
let infos = {};
[...line].forEach(char=>{
if(infos[char]){
infos[char]++
}
else{
infos[char] = 1;
}
})
const min = Math.min(...Object.values(infos));
let str =line;
Object.keys(infos).forEach(char=> infos[char] == min && (str = str.replace(new RegExp(char,'g'),"")));
console.log(str);
}
}()
离职在家的 195 天,碰到一个在线测试和简历一起看的,题目一般,主要是选择题和两个简述题,用不了多少时间,倒是有几个有趣的。
arguments
实现了 Symbol.iterator
可以被 for...of
操作。
[] == 0
是 true
[]
会调用valueOf
方法
[] + [] == 0
是 true
, []
调用了toString
方法为"''"
{} + [] == 0
是 true
, 但是 [] + {} == 0
却是false
因为 {}
的toString
是 [object Object]
,因为前者
在 js 中{}代表复合语句,在一些 js 解释器会将开头的 {} 看作一个代码块,而不是一个 Object(在 es6 以前只有函数作用域与全局作用域,还没有块级作用域)而这里的{}只是空符号,不表明任何意思。这里的+[]是一个隐式转换,所以参与运算的只有+[],在这里将[]转换成了 number 类型,所以得出结果为 0。
{};
+[] //[].toString() == ""; +" " == 0
原文地址: https://www.jianshu.com/p/b520dbb2371a
有些东西吧应该弃之如糟粕,项目上也没必要这样用,当个乐子还行。