如果条件失败

Javascript if condition fails

本文关键字:失败 条件 如果      更新时间:2023-09-26
name =  u'pycon'
name_list = u'acxack', u'pycon', u'A_ForA', u'retweetstats',
            u'Bsdsad', u'dcxcxzc', u'ss'

我必须写如果name in name_list返回true else false。我写过:

var x;
function is_following(name_list, name) {
    for(var f=0; f<name_list.length; f++)  {
            if("u'"+name+"'" == name_lis[f]) {
            x= true;
        }
    }
    return x

但是每次都返回false。但是它应该返回true,因为所需的条件类似于:

If name in name_list:
       return true 
else:
       return false

在javascript中,我会这样做:

var name_list = {
    "u'acxack'": true,
    "u'pycon'": true,
    "u'A_ForA'": true,
    "u'retweetstats'": true,
    "u'Bsdsad'": true,
    "u'dcxcxzc'": true,
    "u'ss'": true
}
function is_following(list, name) {
    return(list[name] ? true: false);
}
console.log(is_following( name_list, "u'pycon'"));   // true

如果你像这样把值放在一个对象中,你可以直接查找它们,看看它们是否在那里,有点像哈希表

实例

var name =  "u'pycon'";
    name_list = ["u'acxack'", "u'pycon'", "u'A_ForA'", "u'retweetstats'",
               "u'Bsdsad'", "u'dcxcxzc'", "u'ss'"];
function is_following(name_list, name) {
    var x;
    for (var f = 0; f < name_list.length; f++) {
        if (name == name_list[f]) {
            x = true;
        }
    }
    return x;
}
alert(is_following(name_list, name));

它主要工作,我不得不修复一个类型name_lis和固定的数据是真正的JS数据。

这是错误的一行:

  if("u'"+name+"'" == name_list[f]) {

你在name前面加了u',但是name已经以u'开头了,所以你在检查u'u'pycon