Javascript正常数组值和匹配函数比较创建的数组值

时间:2016-10-24 06:35:09

标签: javascript arrays match

我有两种类型的数值比较问题,这里是

  tagNames = [];

            tagNames.push('61');
            cmt_wrds = '‏‏61'.replace(/[`~!@#$%^&*()_|+\-=?;:'",،؛«».<>\{\}\[\]\\\/]/gi, ' ').match(/\S+/g);


            if ( tagNames[0] == cmt_wrds[0] ) { // issue is here
                console.log('yes'); // --> nothing
            };

3 个答案:

答案 0 :(得分:1)

如果您记录变量,您会发现它们有点不同。它把

'\u200f' 

符号Right-To-Left Mark

&#13;
&#13;
var tagNames = [];

 tagNames.push('61');
 cmt_wrds = '‏‏61'.replace(/[`~!@#$%^&*()_|+\-=?;\u200f:'",،؛«».<>\{\}\[\]\\\/]/gi, ' ').match(/\S+/g);

console.log(tagNames);
console.log(cmt_wrds);

console.log(tagNames[0] === cmt_wrds[0]); // returns false, because they are different
&#13;
&#13;
&#13;

答案 1 :(得分:1)

Batter使用一些varibale来给出输入数据啊它会解决你的问题。

(function () {
   tagNames = [];

                tagNames.push('61');
  var datas ="61";//variable declaration
                cmt_wrds = datas.replace(/[`~!@#$%^&*()_|+\-=?;:'",،؛«».<>\{\}\[\]\\\/]/gi, ' ').match(/\S+/g);

 

                if ( tagNames[0] == cmt_wrds[0]) { // issue is here
                    console.log('yes'); // --> nothing
                };
  
  })()

答案 2 :(得分:0)

如果你展示他们的长度,这就是区别。

if (connectCard()) { string a = verifyCard("5"); txtShow.Text = a.ToString(); } 是2

tagNames[0].length是4

cmt_wrds[0].length