检查字符串中的字符数(JavaScript)

时间:2017-02-19 00:08:08

标签: javascript arrays

我试图找出我的数组中有多少字符在我的字符串密码中。 它在控制台中出错,说Uncaught SyntaxError:意外的标识符。我试图从java移植此代码,但我不知道该怎么做。

credit_entropy_bits() // this is adding entropy bits to the pool 
extract_entropy() // This is removing entropy bits from the pool

4 个答案:

答案 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)

  1. for(var ch of ...)而不是for(var ch : ...)。试试这个:
  2. password已经是一个字符串,因此toString无用
  3. 数组没有名为contains的函数,而是使用indexOf
  4. 试试这个:

    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)

以下是两种方法:

使用mongosfalse(相当于Java Set)和split('')



charToArray




并使用正则表达式:



filter




答案 3 :(得分:0)

@Leon它是indexOf(ch)!= -1而不仅仅是indexOf(ch)!因为-1是真的! - ibrahim mahrir 28分钟前

这很有效,我真的不知道whwat!= -1意味着虽然有人知道一个解释或现在可以解释它的文档吗?