js 判断字符串是否相等,同字符串同类型却是false

数据 data.json https://pastebin.com/s0z1WZT5
js代码 app.js

$.get("data.json    ",function(e){
    var list     = e.list;
    var list_len = list.length;
    var num      = {};
    for(var i = 0 ; i < list_len ; i ++) {
        if(list[i].gacha_type == "301" && list[i].item_type =="武器") {
            i_name = list[i].name;
            if(!num[i_name]) {
                num[i_name] = 0;
            }
            num[i_name]++;
        }
    }
    for(var key in num) {
        console.log(key,num[key]);
    }
});

html

<!DOCTYPE html>
<html>
    <head>
        <script src="https://upcdn.b0.upaiyun.com/libs/jquery/jquery-2.0.2.min.js"></script>
        <script src="app.js"></script>
    </head>
    <body>
        
    </body>
</html>

明明数据的item_type就是武器 但是判断出来是false
typeof item_type string
typeof "武器" string
typeof '武器' string

"武器" 和'武器'是不相同。一个含有双引号,一个含有单引号。

使用===

各位 解决了 head里加上''''''
js以错误的编码加载了,导致中文乱码

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632