如果条件失败,则为Javascript

时间:2011-08-12 22:25:23

标签: javascript jquery

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

3 个答案:

答案 0 :(得分:3)

在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

如果您将值放在这样的对象中,您可以直接查找它们,看看它们是否存在或者不像哈希表。

答案 1 :(得分:1)

Live Example

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数据。

答案 2 :(得分:0)

这是坏线:

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

你在u'名称之前,但是名字已经以u'开头,所以你正在检查u'u'pycon