将数字附加到以逗号分隔的列表中

Ale*_*lex 7 javascript string jquery

列表看起来像:

3434,346,1,6,46

我怎样才能用javascript为它添加一个数字,但前提是它还不存在?

小智 13

假设你的初始值是一个字符串(你没说).

var listOfNumbers = '3434,346,1,6,46', add = 34332;
var numbers = listOfNumbers.split(',');
if(numbers.indexOf(add)!=-1) {
  numbers.push(add);
}
listOfNumbers = numbers.join(',');
Run Code Online (Sandbox Code Playgroud)

基本上i中的字符串转换成一个数组,检查使用的indexOf值的存在(),增加仅当它不存在.

然后我使用join将值转换回字符串.

  • 旧版浏览器不支持`Array.prototype.indexOf`,所以你需要一个垫片.另外,你应该检查`!= - 1`,因为如果数字在第一个插槽中,它将返回假阴性. (2认同)
  • 鉴于标签表明海报使用jQuery,jQuery相当于[`$ .inArray(value,array)`](http://api.jquery.com/jQuery.inArray/)应该是跨浏览器兼容的,并且直接替换`Array.indexOf()`.与`indexOf()`一样,记得检查结果!= -1. (2认同)