我试图找出我的数组中有多少字符在我的字符串密码中。 它在控制台中出错,说Uncaught SyntaxError:意外的标识符。我试图从java移植此代码,但我不知道该怎么做。
credit_entropy_bits() // this is adding entropy bits to the pool
extract_entropy() // This is removing entropy bits from the pool
答案 0 :(得分:1)
您的描述不清楚,但我已编辑了我的代码,现在应符合您的期望。
var password = "h@llo";
var elements = ['h', '@'];
var count = 0;
password.split('').forEach(v => elements.some(c => c == v) ? count++ : null);
console.log(`There are ${count} elements from elements array inside password string.`);

使用Array#filter
。
var password = "h@llo";
var elements = ['h', '@'];
var count = password.split('').filter(v => elements.some(c => c == v)).length;
console.log(`There are ${count} elements from elements array inside password string.`);

答案 1 :(得分:0)
for(var ch of ...)
而不是for(var ch : ...)
。试试这个:password
已经是一个字符串,因此toString
无用contains
的函数,而是使用indexOf
!试试这个:
var password = "h@llo";
var list = [];
list.push('!');
list.push('@');
var charcount = 0;
for (var ch of password){
if(list.indexOf(ch) != -1){
charcount ++;
}
}
console.log(charcount);
答案 2 :(得分:0)
以下是两种方法:
使用mongos
和false
(相当于Java Set
)和split('')
:
charToArray

并使用正则表达式:
filter

答案 3 :(得分:0)
@Leon它是indexOf(ch)!= -1而不仅仅是indexOf(ch)!因为-1是真的! - ibrahim mahrir 28分钟前
这很有效,我真的不知道whwat!= -1意味着虽然有人知道一个解释或现在可以解释它的文档吗?