Jquery - 正在使用的代码

时间:2016-09-28 14:36:08

标签: jquery

我在脚本中有这个代码。 我知道结果是什么,但不知道它到底在做什么。

var str = ',' + id + ',' + name;

names = names.map(function(value) {
if( value.indexOf(id) > -1 ) {
    return (value.indexOf('add') === 0 ? 'add' : 'edit') + str;
}
return value;
});

if ( ($.inArray('edit' + str, names) == -1  && $.inArray('add' + str, names) == -1)   ) {
    names.push('edit' + str)
}

给我这个剧本的人没有评论。

似乎是str不在数组中添加它,如果它是更新它。

任何人都可以简要概述它实际上做了什么。

由于

1 个答案:

答案 0 :(得分:1)

看起来它在'edit'+str数组中专门寻找'add'+strnames。如果两者都不存在,则将'edit'+str添加到names数组。

var str = ',' + id + ',' + name;

names = names.map(function(value) {
if( value.indexOf(id) > -1 ) { //if id is in value
    return (value.indexOf('add') === 0 ? 'add' : 'edit') + str; //if value starts with 'add' then return 'add'+str, otherwise return 'edit'+str
}
return value; //if id not in value, return value
});

if ( ($.inArray('edit' + str, names) == -1  && $.inArray('add' + str, names) == -1)   ) { //If 'edit'+str is not in the names array AND 'add'+str is not in the names array
    names.push('edit' + str) //add 'edit'+str to the names array
}